Knockout.js is a great DOM manipulation and lightweight data model tool, just MVVM not less, not more.
Knockout.js is ideal for the experienced developer that do not need complex frameworks that handle initialisation cycle, routing, building and global project structure issues, you know how to do this your own or already have good libraries set.
On the other hand Knockout.js is good when you are not experienced front-end developer that just want some form logic to work smoothly and interactively or not have a lot of time to read 100 step tutorials.
Especially for those who love functional approach, Clojure, FRP and so on, Knockout provides computed and observables that is very convenient and powerful enough to build familiar computation pipeline with a very small amount of code and declarations.
Due to the knockout's focus on essential things, i don't think there will be moment when Knockout.js will gone "old", or "unfashioned" loosing some global holywar about most elegant MVVM implementation. Hammer that you are using every day is not about fashion and there is no superhacks or monstrous complexity inside to become old.
There are problems with placing DOM branch under overlapping knockout.js control that is already binded, so you can't easily attach some small model with templates into existing view.
Fortunately this problem always completely gone with migration to the web components introduced in v3.0.
Web components have require.js support, but it's nominal.
Performance is good but you should be aware that for all MVVM framework model state changes should be throttled and managed gently when you using a lot of entities or making projects for the mobile devices.
And it's a little bit strange to see knockout evangelists talking about it mostly on MS С# conferences. Great offer to the wrong address :)
Just try it seeing and playing with examples http://knockoutjs.com/examples/
It will not take a lot of your time but could give you a powerful tool in your libraries arsenal.
Knockout.js was core JS library for all web front-end projects of our company. Including user profile, product licenses management, web-based remote access clients and so on.