Use Case
We use MongoDB for a large scale extremely transient data structure.
It in effect works as a job tracker / manager with many work units being processed every second.
The work unit has no defined schema (different units are invented somewhat frequently) yet we need to have the ability to query for specific fields or properties without iterating over the entire DB.
So to recap:
highly transient, highly available (can't afford to block for a query) with a work load of approximately 600QPS for a single "commodity" machine running in the cloud.
Fact of the matter is it is extremely difficult to do the same on a SQL machine while still maintaining the same costs.
Other popular use cases for MongoDB (also for us) are statistic collection, it is extremely efficient at incrementing specific properties inside documents, much more so then most RDBMS systems.
Again, it's not that it is impossible to do so in MySQL it's just more expensive and takes more time (more skill) which for a small company or a fast development environment means it can't be done.