How is a key-value pair database system all that different from the same technique performed in an RDMS? After all, internally at its heart, SQL Server is exactly a key-value pair system too, it's just been extended with abstraction layers.
Besides, all these database techniques simply add to the complexity of the application without a huge benefit. Sure, horizontal scaling, blah, blah, blah, but when all is said and done horizontal scaling is just a band-aid to jury-rig a solution of "not enough computing power in a single box".
I suppose we're still in the "do it at all" stage of horizontal scaling, but it's yet more complexity on top of an insane spaghetti pile of mish-mashed software.
By the way, the 3 stages of tech are: 1) do it at all, 2) do it well, 3) do it RIGHT. 🙂