Backbone was the start of the cycle. It came around at a time when front-end apps were largely jQuery soup and put polish on best practices that good JS developers were already doing. Then a lot of other frameworks were developed which largely started from the same code-first premise that Backbone had/has, and Angular "won" by introducing a new paradigm built on declarative binding.
I predict that the next winner will leverage web components and do the one thing that makes that paradigm better.
I predict that the next winner will leverage web components and do the one thing that makes that paradigm better.