It's not like things have been better in the 90's, when everything was about Visual Basic, COM, OLE, CORBA and 're-using' application components. I'm not a big fan of JS, but the whole JS+browser+node.js infrastructure is a million times better then this whole VB+COM bullshit. Even the Darwinian framework situation in the Javascript world is much better then getting a incredibly complicated, over-engineered, designed-by-committee system like COM rammed down your throat. Don't like a particular JS framework? Pick a different one.
But why should we judge the web stack by comparing it to the worst examples of the past? We should really compare it with the best options available today.
Sure, but the good thing today is that the 'best option' isn't dictated from an elite that 'knows better', and 'best' isn't a question of money anymore, but strictly quality (with 'quality' not meaning particularly well designed, but solving a specific problem well). A side effect of this 'freedom of choice' is that 99,9% of available options don't solve a problem for me, and it's harder to choose the right option, but I'm completely fine with this. People just need to stop treating programming languages and framework as silver bullets.