You can use your regular normalization tactics (has_many, belongs_to, has_many_and_belongs_to_many, etc.) with MongoDB, too. You could treat it like a MySQL/PostgreSQL that simply allows arbitrarily nested/embedded documents if you need them. The flexibility is great. Check the video I linked.
And, no, SQL is not awesome. It's painful and not implemented the same way everywhere. Fortunately, we don't really have to write too much of it nowadays.
Prototyping with normalization and fast joins is amazing as well, SQL's awesome!