There are several types and implementations. The most common one, today, is Git. Others include RCS, CVS, Proforce and Mecurial to name just a few.

VCS is typically used to manage code bases but can be used to manage any set of directories and folders. Each VCS has its benefits and tradeoffs.