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.
AngularJS is great ( my first app every with Angular :
http://paraiso-flickr-search.herokuapp.com
AngularJS forces developpers into separation of concerns , DI , which are good things , but until one understands why they are good , one will not like AngularJS.
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 ).
AngularJS solves app architecturing problems in a elegant declarative way
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]
It's not bad... it's just much more light-weight (essentially). So, the bigger the project, the more you're going to feel Backbone strain relative to AngularJS. However, for small projects, you probably don't need such big guns... but if you can afford shipping AngularJS to the clients anyway, why not?
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/
The difference between Backbone and Angular is that AngularJS is more like Rails whereas Backbone would be more like Sinatra. What it means is , for complicated apps , you'll have to do complex stuffs anyway , so 'complicated' features are better built in the framework itself.
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.
Backbone is not like Sinatra. Backbone is a hell of a lot more work than Sinatra. Backbone is a framework that more easily can fit atop existing design and services, however it takes so much time and in the end you just have even more complex spaghetti for someone else to maintain when you leave.
I don't know why you got downvoted. I appreciate AngularJS a lot as well, after trying like hell to like Backbone and having given Knockout and Ember a quick try. I'm tempted to compare AngularJS to Dart's Web Components, but I think AngularJS may get some functionality that looks even more like that soon.