The way I see it, its mostly because of us developers. If we were to agree on a number of frameworks to wrap ourselves around and contribute to rather than trying each new framework simply because it had a specific 1 or two features that the others didn't, then we will have a variety of frameworks each with its ups and downs. Only then would framework developers and companies only focus on their frameworks to make them better and more stable while introducing new features. From my point of view, we need to make FE development eco system more like PHP eco system. You have a ton of frameworks for PHP but you know that a select few are worth learning and using almost for everything and you most probably won't need to learn another one if you already know a good one. For example, PHP has Laravel, Symfony, CakePHP, CodeIgnieter, Zend, Yii, Phalcon...etc Almost all PHP developers know that if you want the best of the bunch, you'd go with Symfony or Laravel both are great and would be excellent choices. Other frameworks are good too but if you want the best you know its one of those two. Similarly we must have the same for FE frameworks. I only know about React and Angular and I know that both are fierce contenders so its a similar story with Symfony and Laravel. What we need is we should use those two frameworks more and report bugs send feature requests and so on to make them great. Now its up to their developers to make them better. I heard about a new framework called Vue.js and people are going crazy for it now. Most probably because it does few things better than either React or Angular.