It depends on what you're building. Our app is very frontend/interaction heavy, but it's only reading data so we don't need much in the way of a framework to manage that. We're currently using React with our own simple router and event system to tie things together.
If I had to try and break it down, I'd say something like this.
Mobile/embedded app, or desktop app with heavy interaction/DOM changes: React, maybe some bits of Backbone
Desktop app, forms and widgets/advanced controls: Angular
Backbone is great because you can pick and choose bits of it, and it's very well documented code.
Angular is nice for the complete "out of the box" solution for a web app; you get lots for free when it comes to testing too.
I've not used other frameworks. YMMV. The best way to choose these is pick one and try it, and keep in mind sometimes you need to stick with it a while before you can really make an informed decision.
If I had to try and break it down, I'd say something like this.
Mobile/embedded app, or desktop app with heavy interaction/DOM changes: React, maybe some bits of Backbone
Desktop app, forms and widgets/advanced controls: Angular
Backbone is great because you can pick and choose bits of it, and it's very well documented code.
Angular is nice for the complete "out of the box" solution for a web app; you get lots for free when it comes to testing too.
I've not used other frameworks. YMMV. The best way to choose these is pick one and try it, and keep in mind sometimes you need to stick with it a while before you can really make an informed decision.
Hope that helps! :)