When you normalize a database down to third normal form it may be necessary for performance reasons or to accomodate the database management system being used to denormalize certain relationships.
Denormalization is also a technique used in creating dimensional data warehouses.
I recommend reading Kimball's books on the topic of data warehouse design and development to learn more about denormalization.