I'm not an expert but I've been reading about this topic a lot lately (as i'm completing a bunch of free courses from Mongo DB University atm). As Shailesh mentioned basically it comes down to whether you have more static data that has the same schema or if you have flexible data that will be written a lot, have multiple schemas, or have some frequently accessed data
Obviously there is a huge deal of variation but you want to use RDBMS for something like immigration tracking for your country. You want to make sure that each person has a passport number, entry date, visa expiration date, list of dependents etc. You want to make sure that every person in your database has each field, and you want to be able to easily join an immigration database with a visa extension database so that you can quickly track people who have been granted or denied a certain visa status. Also you want to be able to get analytics data faster, and that is helped by unified schema that the RDBMS forces on you.
Alternatively, you might want to use a NoSQL database (like the document database of MongoDB) to store data that will be accessed and changed frequently/ and/or is not essential to be complete or in the same schema. This would work well for something like a blog, as not all blog posts will have comments, hashtags, or pictures, but others do. You also will make frequent edits to comments, tags, and posts, and maybe upload pictures later, and it is faster to write to the json object of the blog post than it is to create new columns across the table that holds the posts in order to add a new field (such as a contributors field) to blog posts.
This is oversimplified but I hope it gets the basic ideas across. I welcome all comments, criticism and expansions upon this. Thanks!