Not everybody works at eBay, GMail or Facebook scale.
Most applications fit very well in a single server. For example, Stack Overflow runs on a single instance of SQL Server, replicated to a slave in another data center. In such a case, the convenience of joins and transactions is priceless.
And even at scale, it makes sense to rely on joins and transactions. The perfect example is AdWords that runs of F1 and Spanner:
"Our users needed complex queries and joins, which meant they had to carefully shard their data, and resharding data without breaking applications was challenging."
http://static.googleusercontent.com/media/research.google.co...