When there is no need for relational databases: Not all data is related. MongoDB is useful in production when this is the case. For a very simple example; a blog where you are the sole "user", authoring posts from your local machine. There's no login system, just a collection of post documents with embedded "comment" objects that have a commenter "name" field. Or if you're doing geo-spatial lookups, because MongoDB is good at indexing high volumes of that. Or if you maintain profiles (not user account profiles, think more like a missing persons database or sexual offender records where a "profile" is just an informative document). It's also good as a persistent log store, or for storing persistent application settings, or metadata about records stored in a separate database.
For rapid prototyping during the development phase. MongoDB is not designed for nor is it good at storing related data, but storing related data is still possible with embedded documents or something like Mongoose's population feature. It's also good at simulating graph data - just objects and pointers. This makes it a solid choice for getting the idea of a project down without much friction - since it's schemaless, there's no need to constantly run migrations to adapt the shape of your data. Also, most MongoDB clients will automatically create the database when attempting to connect to a database that does not exist. This means that as you code, you can safely chop and change your database design without much maintenance overhead - then once you get a more solid understanding of how your data is connected and shaped, you can start the switch over to a traditional relational DB.