MVCC manages visibility of multiple row versions instead of simply overwriting a row on update. A reading transaction picks the version visible in its snapshot.
In the demo, an older reader sees v1 with 100 while a new reader sees v2 with 120. Cleanup of obsolete versions matters, and implementation details differ by database.
When to use
Understand it when analyzing concurrent reads and writes or the cost of long transactions.