There is also a GUI front end available that can be downloaded for free. It requires that TK and TCL has also been installed in an directory that is accessable by your computer. MVS has a nice tool called tkdiff, to view differences between various revisions of files. This will be presented in tutorial #3 .
After checkout, files can be modified (using your favorite editor), "committed" back into the Repository and compared against earlier revisions. Collections of files can be "tagged" with a symbolic name for later retrieval.
You can add new files, remove files you no longer want, ask for information about sets of files in three different ways, produce patch "diffs" from a base revision and merge the committed changes of other developers into your working files.
New revisions are commited back to the repository and given a new number. The revision-tree figure above shows how CVS will let you 'branch' from the main 'trunk' and work with sub-revisions. These sub-revisions can then be merged back into the main trunk. You can even 'tag' files having different revision numbers into a common revision name. The tutorials will NOT go through examples how to do this.
And, most importantly, you can go back to an older version that you know worked before you added 'new features' -- eg, bugs!
Just for your own information, this tutorial is managed by CVS. ;-)
Soooooo, like anything, it's no magic bullet. It's not a substitute for people communicating with each other what they've been modifying and why. For example, if I change a function parameter protocol in foo.c, and another person is writing a program using the functions in foo.c (which is also maintained in the repository), CVS will not flag Lee that the function protocols have changed -- even after Lee updates the repository with his new program. Lee will only find this out after he inquires about an updated version of foo.c in the repository (where he will see that the function protocols are different than his version).