Most problems are simple, but to solve them in a framework, you have much todo.
And when you understand and use everything "the right way", the new Version of the Framework arrive -> see angualar v2. A new Framework with a new underlying language (WTF?)
Best practices work without frameworks too, you have only to define them and communicate them with your co-coders.
Since requirejs with the modularity and different build tools, i feel no need for a huge framework.
I pick the libraries i need and build parts of the application into modules, since the communication run with events it is clean, structured and has a clear defined API.
How hard a problem is to solve depends completely on the framework. Obviously, the better frameworks make that as easy as possible.
Best practices outside of frameworks absolutely exist of course, but in the context of an application it's left up to you to decide what those are. Rather than spending time deciding this myself, I'd rather lean on people who have spent far longer on that decision than I have time for so I can get back to addressing the actual business problems my application is aiming to solve.
Agreed that is an advantage of frameworks, but is it not more of an argument for a mature framework like Rails, rather than the current JS frameworks which appear and become (essentially)obsolete/niche in a year or two?
Frameworks give us a language to speak to each other about the nuts and bolts of our application. This means new developers can get ramped up quickly (provided they understand the framework) and there is a common body of best practices that can be referenced when faced with difficult problems. There's a lot of value in that.