Atomic, consistent, and isolated transactions are a feature that every developer has likely used at least once in their career, and every internet user indirectly.
Databases could get pretty slow if all operations had to happen in order, so by keeping track of the time that we started a transaction, we know how to ignore certain subsequent updates (isolation), and make sure that future transactions see everything that we’ve done (atomic & consistent).
Traditionally, this hasn’t been too much of an issue for databases (well, Postgres DBA’s might disagree with XID wraparound).
Transactions simply just get the current system time, and use that to compare the MVCC timestamps, and go on their way. Clocks drift, but we can detect when they drift backwards (or at least, further back than we last knew it to be).
Time, and clocks, have always been at least a bit of a challenge for computer systems, and if all computers had perfect clocks, distributed systems wouldn’t be quite as hard.