Earlier quoted context omitted.
MongoDB IS durable now by default, has a third party MVCC implementation (MongoMVCC) and has pretty decent admin tools. And this idea that joins is a requirement for a "serious" database makes absolutely no sense. Database level joins are toxic for scalability and IMHO should always be done in the application layer.
Mongo in its most durable mode (which btw isn't what, say, Postres would call durable) is really slow. Why even bother with it anymore? First party MVCC is the only one that matters. It affects vital things like backups, analytical queries and transactions. Joins are extremely useful. If a database does the sharding, it is almost always better for it to do the joins as well. Performance can be good with the right mod…
As for MongoDB performance well making a blanket statement is pretty silly. On a previous project I had queries that were upwards of 40x faster in MongoDB than MySQL. Why ? Because MongoDB allows the ability to embed documents within other documents to the point where I could make a single query with zero joins to fetch 20 entities worth of data.
Every database is optimal for different use cases.