Using version numbers
Every object in OpenStreetMap has a "version number". When the object is first created, it receives version number 1. With every change, the version number is increased by one.
This was originally added so that the database would not need to lock data when multiple contributors are updating the same area. However, this also offers a lot of auditability to the OSM data. Every version change is associated with a changeset, meaning that it is possible to see for every object who changed it when, and precisely what changed. To see the history of an object, visit https://openstreetmap.org/<ID>/history
For example: https://www.openstreetmap.org/relation/4647846/history has (at the time of writing) three versions: the initial version, one version where someone linked the wikidata entry and a last one where someone added the Wikimedia-commons category.
These version numbers also allow to roll back to a previous version, for example in the case of vandalism. This also allows to see how an object evolved over time, e.g. when a {Tag|construction|yes} was added and removed again.