Why are clouds
As explained in "Why do we have blue skies", white light from the sun consists of all the colors of the rainbow. Since light travels as waves of different lengths, each color has its very own unique wavelength.
In much the same way as why skies are blue, clouds are white because their water droplets or ice crystals are large enough to scatter the light of the seven wavelengths (red, orange, yellow, green, blue, indigo, and violet), which combine to produce white light. Clouds will appear dark or gray when either they are in another clouds shadow or the top of a cloud casts a shadow upon its own base.
The darkness of a cloud also depends on the background sky. A cloud will look darker when it is surrounded by a bright sky and lighter when it is in front of darker ones. Not always will a dark cloud mean rain.
More often, the reason we experience dark rainy days is because clouds are blocking the sunlight. Some of the whitest, most pure light can be observed when dark clouds "break apart" and sunlight filters through.