The best case lies in the middle somewhere. Color bleed We perceive the wavelength of the light as color, or more precisely, as hue, ranging from long waves in the red part of the spectrum to blue and violet in the shorter range of the visible spectrum. So, as the light bounces and changes wavelength, it changes hue as well, picking up the hue of the surface it radiated out from. For example, if you place a strip of red oriental carpet next to a white wall in the bright sunshine, the wall near the rug will look slightly red. Simulating this effect is often called Radiosity.
Light travels forward, raytracers trace backwards.
Both require also that the light source pour out thousands of photons into the environment and bounce them around until some of the photons happen to find their way to our eyes or to a camera lens. Unfortunately, raytracing engines don't work that way. A raytracer follows the light backwards, from the virtual camera back through the lens, out into the environment, to an object and then stops, checking only the light color and energy directly cast by lights on the object without intermediate bounces. Since it follows the rays backwards, a general raytracer simply can't generate lighting effects that rely on the physics of bounced light. The general idea is to cast light forward, from the light source into the environment, then bounce it around a bit, storing the results in something called a Photon Map, and then rendering the scene in the usual way, casting rays backwards from the virtual camera into the scene, until the ray strikes an object.