I'm afraid I can't give you anything informed ... as I haven't used either of them in anger.
That said, they take a very different approach: less about data modeling and events, and more about binding JSON structures tightly to specific DOM elements. I have my own concerns about if it's possible to build truly high-performance web applications with such a granular scheme -- for example, Knockout.js calls JavaScript's "eval()" on every "data-bind" attribute in your HTML. But without someone taking the time to port the same app to all three libraries, and then evaluating it with benchmarks, it's all just speculation.
That said, they take a very different approach: less about data modeling and events, and more about binding JSON structures tightly to specific DOM elements. I have my own concerns about if it's possible to build truly high-performance web applications with such a granular scheme -- for example, Knockout.js calls JavaScript's "eval()" on every "data-bind" attribute in your HTML. But without someone taking the time to port the same app to all three libraries, and then evaluating it with benchmarks, it's all just speculation.