Q:

Selecting an MVC Framework (Javascript - Front End) - Backbone, Angular, Ember

I've spent the last couple days researching different arguments for and against different MVC frameworks but what's become very apparent is that there's absolutely no correct answer to this question as it's heavily dependent on a number of different factors specific to the underlying project.
The advice I am repeatedly coming across is select a framework on the following points: Ease of use, productivity, testability, community, documentation
While that's all well and good advice, I still think that there are a few more things to consider specific to the actual code-base you'll be working on.
That being said, hypothetically if you were to arrive at work one day and asked to select the "best" Javascript MVC framework for your code base to handle the entire front end of an existing product (keeping in mind that there is a current codebase and you'd want the framework to be able to handle the "transition" period as you shifted to the new framework over time), what are the factors/questions you believe would be necessary to consider to make a well informed decision? These can be factors/considerations/questions about the MVC frameworks themselves AND/OR the current code base / technologies current in use (ie. Ruby backend, other libraries currently in use, product functionality, etc).
Scalability and performance are extremely important as this product would have a fairly large volume of users.
Just due to stability and maturity of certain frameworks alone I've factored down realistic choices to Angular, Backbone + Marionette and Ember (although this one is still up in the air).  Each one is a different beast by its own right and functions very differently, hence the need for my original question on what factors and questions would you ask to figure out which is the "ideal" (I use that word very loosely) choice?

A:

Your question is probably going to be closed since it is both "too broad" and "primarily opinion based", making it not a good fit for this site.
But since I was faced with exactly this same decision not so long ago, I'll share my impressions of the three frameworks. Please also read this article (from someone more experienced than me) if you haven't already.

AngularJS

Pros: "Magically" hooks up functionality between the view and the logic and allows getting a lot done with minimal code. Frees you from having to do a lot of DOM manipulation. Easy to start off simple and build up (for the most part).
Cons: AngularJS's strong points can also be seen as its weak points - many say that it does too much with its "magic" and that this makes it hard to troubleshoot when something goes wrong. Also, the "freedom from DOM manipulation" can turn into an "obstacle from DOM manipulation". Forces you to find plugins and libraries or make your own components that "do things the Angular way" for some tasks that would otherwise be trivial. Also violates separation of concerns by forcing you to place a lot of code in your HTML.

Backbone.JS

Pros: Provides a framework for imposing order upon your code and data structures without taking over your whole site design. "Plays well with others", as @dandavis has said in the comments section above.
Cons: Doesn't provide much in the way of UI support. Requires either bolting a UI framework on top of it (such as Marionette), or doing most of the manual labor yourself.

Ember.JS:

Pros: Provides a lot of UI assistance (with the help of handlebars, which is built into Ember) without violating separation of concerns. Events are hooked up in code (in a rather clean way too). Like Backbone, provides a framework for adding rigid structure to your app.
Cons: Requires mastering a lot of different concepts and setting up a lot of moving parts. Can require a lot of code and separate pieces to accomplish relatively simple things. Assumes the use of handlebars templates rather than plain HTML (which can be a plus or a minus, depending on one's preferences).

In the end, I went with AngularJS because I happened to like all the "magic" and ease-of-use that it provides. The following also helped me rule out the two other options:

Minimal UI functionality in Backbone meant I would have to hook it up myself (which I was trying to get away from in the first place), or go off and compare/contrast a whole bunch of other frameworks to put on top of Backbone. That would have been too much of a time investment at the time.
I ruled out Ember because much of the HTML markup work was delegated to another person, and it would have been unreasonable to force that person to learn how to use handlebars templates. That was a pretty big strike against Ember for my particular case.

