1) vuejs - простой и ненавязчивый фреймворк который призван максимально просто и тесно взаимодействовать с произвольной версткой, в этом плане он очень похож на angular 1 , только проще, чище и чуть логичнее. При этом оп предоставляет инструменты для компонентного подхода(для фанатов клиента) и даже серверный рендеринг. На мой взгляд vuejs - это идеальное решение для быстрой разработки с допустимым уровнем качества.
2) Backbone - это далеко не библиотека и он в прошлом. Его главный минус - это невозможность управлять поведением dom, если этот dom не был сформирован через backbone-engine. Что делает его почти бесполезным, если только ты не хочешь написать проект , который будет намертво зависеть от выбранного инструмента и в котором будет невероятное множество клинтских шаблонов
3) React - это скорее концепция + движек для ее реализации, чем фреймворк Его существенный плюс в том, что верстка идет с изолированной логикой в паре, но это плюс скорее концептуальный , точно также можно поступать и используя jquery в изолированом скоупе прямо в верстке в html- фалах - виджетах (Я пробовал уже после реакта и это очень просто и надежно, но я fullstack и мне от клиента большего не нужно)
Минус реакта в том, что верстка должна рендериться только через шаблонизатор реакта, это значит что весь проект нужно рендерить через реакт иначе же в проекте будет хаос.
4) Ember - тоже говорят вещь хорошая, но я бы никогда не выбрал Ember по той же причине что и backbone.
5) Riot и еще 50 подобных фреймворков похожи либо на Angular, либо подражают React, либо идут по пути Backbone&Ember или же какие-то "гибридные" со своими фишками.
6) Angular 2 - я пока не понял его фишку.
Если рассматривать весь этот зоопарк с точки зрения бизнеса - то лучше выбрать то, что максимально проще и либеральней