A rainbow is caused by sunshine illuminating water drops usually in the form of rain, but it could be spray from a water fall or fountain. But a rainbow is not all over the place, it is always to be seen in a specific location in the sky with respect to the sun. A rainbow is always a 42 degree arc around the anti solar point. The anti solar point is the exact opposite spot from the sun, and is easily found as the shadow of your head. This is actually a cone 42 degrees around the anti solar point with the apex at your head. To see a rainbow there needs to be water drops some where in this thin cone which are illuminated by sun light.
A primary and weaker secondary rainbow. Notice the supernumerary bows inside the primary.
But why 42 degrees? This was first explained by Descartes using simple ray tracing. He made the good assumption that rain drops are roughly spherical. He also worked out how to determine the angle with which a ray of light exits a boundary between 2 materials; in this case air and water. This is now known as Snell's Law. The final important piece of information is that because the sun is so far away the light reaching the earth is said to be roughly collimated. That is, all the rays of light from the sun are close to parallel.
Inside the primary rainbow is brighter than outside. The opposite is true for the secondary bow. This produces a darker region inside the 2 bows known as Alexander's Band.
Using this information Descartes drew all the paths rays of light from the sun would take when entering a drop of water. This is clearly seen using the Rainbow Simulator. Try running the Rainbow Simulator in another browser window with the slow setting. Hit the "Reload" button to make it re-run. Notice as the rays of light move from the outside of the drop of water they initially start to diverge away from the original direction of the light rays. But as the rays continue to move across the drop this trend reverses and the rays start to exit back toward the direction the light rays came from. The angle at which this reverse happens is the rainbow angle, and you guessed it it is about 42 degrees.
Red rainbows caused by illumination with red light from a very low sun at sunset.
Also notice that once the rainbow simulator has stopped running that at the rainbow angle there is higher concentration of out going rays. There is an enhancement of the intensity of rays at this angle. Now instead of a single drop of water imagine the sky is full of drops of water. This is rain! Imagine you are looking away from the sun. Sun rays are coming from behind you illuminating the sky which is full of water drops and the light is being scattered in each of these water drops just like in the rainbow simulator. You will be looking at the area of enhanced intensity rays when you look along a cone which has a 42 degree radius around the anti solar point - the shadow of your head.
In this photo taken along the Na Pali coast of Kauai there is a rainbow under a rain cloud. If you look closely there is a very faint rainbow continues across the surface of the ocean which is at a slightly smaller angle. The different angle is caused by this rainbow being formed by salt water sea spray which has a different index of refraction to fresh water.
But why isn't a rainbow white, the colour of sun light. This is because Snell's Law is wavelength dependent. The wavelength of light is another way of saying it's colour. Blue light has a wavelength of about 450 nanometers, and red about 600nm. So the rainbow angle is slightly different for different colours of light. Instead of seeing a white arc you see a continuum of all the colour that make up white light spread out by this effect in a narrow band at about 42 degree around the anti solar point.
The primary bow is caused by light that enters rain drops and reflect inside only once. If you run the Rainbow Simulator again changing the setting to "Secondary" you will see that rays that reflect inside the rain drop twice produce a different rainbow angle. This is what forms a secondary rainbow. A secondary rainbow is always fainter than a primary because the not all the light is reflected inside the water drop, some is transmitted to form the primary.
Once you know where to look rainbows can be found everywhere.