Ray tracing mimics the reflection and refraction of light rays in a 3D scene to produce image detail surpassing anything possible using Phong shading. Effective as it is, though, ray tracing by itself will not produce photo-realistic images. At the very minimum, some kind of ambient lighting must be applied to the scene to reduce the contrast between lit and shadowed areas, because ray tracing does not deal at all well with light reflected from matt surfaces, such as painted walls. To soften things up a bit, and to make matt surfaces look more life-like, radiosity is often used in conjunction with ray tracing.
Radiosity calculations are done by splitting a scene into several sections and calculating how the light radiated from objects in each section affects objects in the others. Each time the relationship between all the sections has been worked out, they are split into smaller sections and the process is repeated. This continues until the effect that each pixel-sized section of the scene has on every other pixel-sized section, including those invisible to the viewer, has been calculated. Shadow edges are now softer and parts of the scene not directly lit by a light source will be made visible. Another advantage of radiosity is that, because it takes into account surfaces hidden from the viewer, the point from which a scene is viewed can be moved without having to do all the calculations again, as long as the lighting has not been changed. This makes it ideal for rendering product visualisations and architectural walk-throughs. Unfortunately, the amount of initial processing required is very much greater than that demanded by ray tracing, so its use tends to be restricted to very high-end systems, often using multiple processors in parallel processing environments.
See the difference that adding radiosity can make in producing photo-realistic images.