Ох, это тема для бесконечного и мучительного холивара. Однозначно я бы заместо Backbone.js добавил в сравнение Marionette или Chaplin, сам Backbone является только библиотекой. Все напрямую зависит от конкретной задачи и от ваших личный предпочтений.
Плюсы Marionette - это четко определенная и знакомая MVC философия с внятным разделением обязанностей, структура проекта определена сразу и ограничивает написание своих "костылей", используется привычный jQuery и работа с UI не намного отличается от привычной. Из минусов - головная боль при работе со сложным UI (формы, куча окон и т.п.), много однотипного кода.
Плюсы Angular - совершенно иная философия, "магия" и простота при работе с UI и view в целом, мало кода, много удобных и продуманных инструментов из коробки, но этим всем нужно научиться правильно пользоваться - это и есть основной минус (многие лепят костыли, а потом ругают фреймворк).
С Ember не работал, но могу сказать, что он будет более похожим на Marionette но со своими плюшками.
Если не можете определиться, то попробуйте сделать по одному небольшому проекту на каждом фреймворке и найдите лучший для себя. Если сильно ограничены по времени, то Marionette - проще будет понять и научиться использовать, но потом обязательно посмотрите на Angular.