Everything changes, nothing perishes.
Version control, to the developer, is like eating and breathing; like a source editor and compiler. It’s an essential part of daily development life.
Version control is the process of managing multiple revisions of a set of files. These are commonly the source files for a software system (so it is often called source control), but it could just as easily be revisions of a document tree, or of anything else you’d store in a filesystem.
This is a simple enough facility. But a good version control system, used well, brings us many benefits:
It maintains a history of the work on a project, archiving the exact contents that went into each specific release. It is a code time machine.
This facilitates software archaeology, tracing the changes in files to work out the changes that comprised a particular feature. It catalogues who changed each file, and why.