Why people passes array of materials to mesh?

In this example, I use six materials for the cube.

From the collection :

MorphBoxSphere


const texturLoader = new THREE.TextureLoader( );
 
const diceMaterial = [
    
	new THREE.MeshBasicMaterial( { map: texturLoader.load( 'dice/6.png' ), wireframe: false } ),
    new THREE.MeshBasicMaterial( { map: texturLoader.load( 'dice/1.png' ), wireframe: false } ),
    new THREE.MeshBasicMaterial( { map: texturLoader.load( 'dice/5.png' ), wireframe: false } ),
    new THREE.MeshBasicMaterial( { map: texturLoader.load( 'dice/2.png' ), wireframe: false } ),
    new THREE.MeshBasicMaterial( { map: texturLoader.load( 'dice/4.png' ), wireframe: false } ),
    new THREE.MeshBasicMaterial( { map: texturLoader.load( 'dice/3.png' ), wireframe: false } ),

];