In broad terms the added complexity brings you performance. I don’t know if that performance boost is significant in most apps though, but the react crowd will tell you it is.
The idea behind the various virtual DOM models is that changing the (real) DOM is expensive, and by using a virtual DOM the minimum amount of changes can be computed and performed in a single DOM update. In React, that update runs approximately every 16ms.