Why does food cook differently in a double-boiler?
The double boiler maintains a steady, even temperature due to being heated by the surrounding liquid. Basicallly, (assuming the two pots don't touch) the heat in the internal pot will never exceed the boiling point of the water surronding it. Further, the liquid surrounding the internal pot has an insulating effect that makes temperature changes more gradual. When exposed to direct flame or heating element, the pot can do so easily, and temperatures may fluctuate more quickly.

The steady heat provides a good environment for tempermental foods/sauces that require a very specific temperature. Chocolate and Hollandaise are good examples of this.