Sure, use a framework, let's not reinvent the wheel. But my biggest peev is when I look at a project with every framework imaginable, using a small portion of it's functionality. I guess this is where the "plays nicely with others" metric is important for these individuals. "It doesn't matter if we load 10 frameworks in the DOM as long as everything works" -Retarded Developer
AngularJS is possibly best-of-breed in the engineering aspect in my unqualified opinion, and I expect to properly use and deploy it once its documentation and cookbook are fully beefed up.
I'd say personally that behind simplicity, performance is the most important factor for an app (JS-enhanced sites may benefit far less). The challenges that I've seen while using backbone mostly consist of unifying the views, models, collections, and helper objects (or for lack of a better term "Services") together. So far some of that overhead involves adding a "_super" function and abstracting out instantiation so that it is sane. I'll write up about the experience afterwards, but backbone.js is a pleasant treat after leaving JMVC.
Edit; will probably move over to http://guides.joosy.ws/ as it's better documented and isn't broken like Batman.js
I can't believe in this day and age, master branches are undocumented and broken. Seriously, if you're pushing code to Master, at least have it documented. If not, let it be in dev branch.