It's excellent, with readable examples contrasting their approach with that of the "key-value observable" (KVO) approaches of Angular, Knockout and Ember (although he only has examples in Angular and Ember, that I saw).
One big takeaway I had was that the Virtual DOM was not about performance, but about simplicity. He cites Rich Hickey's quote, "What matters for simplicity is that their's no interleaving." He found the key-value observable pattern led to a lot of interleaving, making it unintuitive and difficult to reason about. He has good examples.
Yes, he does brag about React performance relative to Ember and Angular (but not KO), specifically, at the beginning of the talk, but later he explicitly takes the focus off of performance. He even has a counter example, where React is 10x slower than the KVO approach, but he says "it doesn't matter because it's a worst case scenario and it's still under a frame slower". They trade a frame of performance for some very attractive programming properties, he says.
He also mentions that, out of the box, React does re-rendering synchronously, making it really aggressive with repetitive render calls (no DOM rendering, but a lot of programmatic rendering and diffing), whereas Om (a ClojureScript project that uses React), does it in a RequestAnimationFrame.
So, for those of us who are comfortable with Knockout and the KVO approach, I'm not sure how a Virtual DOM would help, as it's fundamentally about handling state differently to support programming in a different style. I have trouble separating it from React.