Na maioria das situações, eu recomendaria escolher um db para um projeto, se o projeto não for enorme. Em projetos realmente grandes (ou empresas em geral), eu acho organizações de longo prazo usarão uma combinação de
- RDBMS para OLTP altamente transacional
- NoSQL
- um projeto de datawarehousing/BI
Mas para coisas de escopo mais razoável, basta escolher aquele que faz o núcleo do caso de uso e usá-lo para tudo.
O IMO armazenar dados do usuário no mongodb é bom - você pode fazer operações atômicas em documentos BSON únicos para que operações como "aloque-me este nome de usuário atomicamente" sejam factíveis. Com redo logs (--journal ) (v1.8+), replicação, slavedelayed replicação, é possível ter um alto grau de segurança de dados - tão alto quanto outros produtos db no papel. O principal argumento contra a segurança seria o produto ser novo e o software antigo é sempre mais seguro.
Se você precisar fazer transações ACID muito complexas - como contabilidade - use um RDBMS.
Além disso, se você precisar fazer muitos relatórios, o mysql pode ser melhor no momento, especialmente se o conjunto de dados couber em um servidor. A instrução SQL GROUP BY é bastante poderosa.