unnecessary _most of the time_, necessary sometimes. JavaScript on the server is still in its early days, maybe some future isomorphic solutions like Meteor will change the game. That's what I meant on point 8.
I agree about flexibility, and the Angular team is listening. Check out Angular 2.0 goals : "For performance and to enable innovation, our goal is that almost every piece of AngularJS should be optional, replaceable, and even used in other non-AngularJS frameworks. You’ll be able to pick and choose the parts you like and write or select others that you like better."
Hmm we use nodejs currently and works great for us, despite it being in the "early days", meteor is a full-ledge solution.. Im talking about using modules from NPM that can work on the server and client today, right now.
Angular 2.0 is still in the design and architectural phase, maybe in the future it will be released but who knows exactly when.