The sunlight takes a complicated path through each water droplet. It comes in the side closest to the sun, bends because the index of refraction in water is bigger than that of air (you can see this effect by putting a pencil in a glass of water so that some of it sticks out and looking at it from different angles -- the pencil will apppear "broken" at the place it crosses the water surface). The sunlight, passing through the water droplet, bounces off the back surface of the droplet, travels back to the other side, and bends once again on its way out.
The reason why the rainbow is curved is because all the angles in the water drop have to be just right for the drop to send some sunlight to you, standing on the ground. So, with the sun *behind* you, only those water droplets that have the same angle formed by you, the drop, and the sun (this angle happens to be approximately 42 degrees) will contribute to the rainbow. Other droplets send their light somewhere else, and if you move to a different location, new droplets are needed to make the rainbow you see in the new location. This is why you can't go to the end of a rainbow to find the mythical leprechauns and pots of gold; anywhere you stand, the rainbow is formed by faraway drops of water reflecting and bending sunlight. The rainbow is curved because the set of all the raindrops that have the right angle between you, the drop, and the sun lie on a cone pointing at the sun with you at one tip. The rainbow may look semicircular if the sun is setting or rising (a good time to see a rainbow because the sunlight at that time can get under rain clouds because it is traveling horizontally). If the sun is higher in the sky, the earth gets in the way and you may see less than a semicircular rainbow.