I agree with you that React's virtual DOM is a real breakthrough. However, that doesn't make all of React worthwhile. Other frameworks can (and should) integrate a virtual DOM.
>Most people make the mistake that the DOM is a place you put things.
I guess this is why Angular keeps the model separate from the DOM.
That said, the virtual DOM strikes me as a really good idea I'd like to see in Angular.
The DOM is what the user sees. That's all. With React, you have a virtual DOM that can hold everything, not just what the user sees. It's a pure data structure, and can be manipulated as such.
Because that DOM is a pure data structure, React can figure out for you what parts have changed, and re-render those bits as needed.