1. Javascript has a massive and diverse community. Developers that would otherwise avoid the language must learn to use it. So, where other languages would rally around one framework (because of the self-selection), Javascript rallies into sub-communities around methodologies and architectures.
2. Javascript is gaining new developers at a very high rate. All these new minds bring new ideas, new combinations of ideas, and lots of re-invented ideas too. All of it, even revisiting old ideas, pushes the collective industry in new directions.
3. Frontend developers have had to layer on top of a set of tools barely adequate for what we're trying to accomplish. For example, jQuery should never have been necessary, but was revolutionary when it came out. Today there's still not great solutions around storage, security, performance, etc. Solving these problems improve the abstraction and allow higher-level frameworks to appear.
4. Based on what I've seen there appear to be very few UI toolkits that aren't kind of garbage. Human interaction and rendering pretty bits is hard. Generally I think the industry (even outside webdev) is still looking for the "right answer" to the problem.