I started with backbone and was like...wtf is this. Then I went to knockout and it is what I am using now. I used Angular in a pet project a few weeks ago and was totally blown away at how easy it was. Angular is more suited to projects where you use it from the get go. I really like knockout because it is good to integrate in existing projects.
Backbone is in my opinion more a library ( like jQuery ) than a framework. it doesnt force people doing anything , it provides helpers and conveniant "classes" to work with.
But it doesnt solve most of the problems regarding app architecture. AngularJS solves app architecturing problems in a elegant declarative way ( like Flex before it ).
Actually BackboneJS praises itself for not doing that:
It doesn't depend on stuffing application logic into your HTML. There's no embedded JavaScript, template logic, or binding hookup code in data- or ng- attributes, and no need to invent your own HTML tags. [1]
You can see the different styles for yourself for a very basic web application (and try to extrapolate what it would look like for large ones): http://addyosmani.github.com/todomvc/
Unless you use a plugin , you'll have hard time updating your views automatically in Backbone if your model has nested objects. And your models cannot be arrays. In AngularJS it doesnt matter.