"Always normalize, then only denormalize if necessary"
However, data warehousing has somewhat different requirements than does an OLTP system
"Lisa, in this house, we obey the laws of thermodynamics!" - Homer Simpson
"I have my standards. They may be low, but I have them!" - Bette Middler
"It's a book about a Spanish guy named Manual. You should read it." - Dilbert
I can't think of any situation where you truly have to normalize a schema.
If you have infinite resources for problem resolution in your data (people), infinite disk for storage, infinite processing power to brute force crunch your data, and infinite memory to do the aforementioned crunching in, then there isn't much need for normalization.
I've never been blessed with a situation like what I've described, so I tend to be rather finicky about normalization myself.