The rainbow effect occurs because the light is then reflected inside the droplet and finally refracted out again into the air. Different wavelengths of light travel at slightly different speeds through water, and so are refracted to different degrees. This causes the original white light to spread out into its separate component wavelengths, each of which we perceive as a different color.
Therefore, the answer is:
(B) differences in angles of refraction for light of different colors.