If your system has a complexity of X to build, and using a traditional RDBMS solves Y% up front, it adds an ongoing Z complexity overhead in growing/maintaining the system over time. NoSQL may have a lower Y, but it 's goal is to also have a lower Z, and can often win out in the bigger picture even without talking about massive scale. It's not true all the time, but in my experience it's been the general rule
In any sufficiently complex system a combination of both usually work well together. I heard a good offhand comment this week of "80% of the structure should be in an RDBMS and 80% of the data should be via NoSQL" which makes a lot of sense to me.