Reminds me of a thread I saw on the Google Inbox mobile app a while back. Brilliant app, but no 'unread message counter'. There was a huge number of people on the thread begging for that feature and going so far as to say that it was the one thing that prevented them from using the app. Their thinking was apparently that you should have filters for everything and it all should've fallen neatly into little boxes, but for people that have been using email 10 times longer than those developers have been out of college, that's not very practical. One G dev chimed in and said 'But that's now how I use email' and closed off the discussion.
We've been using Mongo for almost a year now, and we've not seen any of the major issues such as data loss referred to. We've seen some of the growing pains of a quickly moving, dynamic platform, but nothing outside of the realm of what is reasonable for such a powerful solution. It's true that implementing sharding is no simple task, but with enough planning up front, you'll find yourself able to scale horizontally very quickly. After a couple of weeks of planning, we wound up making a few small changes in our codebase to migrate from master/slave to a sharded environment. Not a huge undertaking by any stretch, provided the current flexibility of our platform. Also, due to the fact that 10gen does make all bug information publicly available, we've managed to get it done with zero surprises.