I really like this idea of basing your decision on the need to normalize or not. It certainly fits document-oriented databases and key-value stores, but I'm less sure about column-oriented databases (I have no experience with them, except many hours trying to understand them...).
The single-purpose vs. multi-purpose that comes from denormalization vs. normalization would explain why certain companies stick to RDBMS for their main data and use NoSQL only for certain specific scenarios.