It centralizes a main repository and keeps track of all changes that are put into the documents allowing developers to go back in time and explore previous versions, see differences line by line if needed. The C in CVS stands for concurrent meaning that many people can be working on the same files at the same time. CVS helps collaboration by sending notifications to the team when someone starts working on a file. Since conflicts may occur when many developers are working on the same files, they are noticed by CVS and developers are notified of those. The repository is the master copy.
Developers can check out a working copy of the files then work on it on their local machine.
Once they have done the modifications they check the files back in therefore committing the changes. If a developer is working on a file that is being checked-in with changes into the repository by someone else, she will receive an update. The convention is that developers should always do an update before doing modifications and only check-in working modifications so that the master copy is always in a runnable state. Also if a developer has enabled notifications she will receive a mail when someone starts working on a file. Furthermore each file has its own revision number that is incremented after each check-in.