There is one good rule to find out what database you need.
LOLCATs rule: If LOLCATs can (and will) be added in database, NoSQL can be chosen with a clear conscience.
Otherwise, other reasons should be checked:
Should data be consistent?
What kind of statistics do you need?(real-time – NoSQL, data mining – SQL)
Are there lots of relations in database? Is a lot of joins planned?