Knockout is only about data binding as far as I know, whereas Angular and Ember are full stack SPA frameworks. Also, while I'm a knockout fan, dealing with observables is not ideal when compared with plain old javascript objects that Angular allows you to bind with.
I agree, Angular has the right implementation. It's just not clear that it needs quite so much stuff to solve one problem. And if it isn't solving one problem, why not?
Angular team is going to split the Core into several small modules, hopefully a data-binding module will be available to replace knockout and do nothing more ;)