Visual SourceSafe is a source control system that comes bundled with Visual Studio .NET. There are other systems with different features available from other vendors, but many organizations will find SourceSafe quite sufficient.
A main purpose of source control systems is to ensure developers don't overwrite each other's changes on source files. Source control also guards against accidental deletion or modification of source files, provides a change history of each file, and allows users to easily fetch any version of the project that has ever existed.
Change histories can be a powerful debugging tool. Anytime code used to work but no longer does, check the history of the relevant source files. Based on the check-in comments, most of the changes can be dismissed as unrelated to this bug, so examine the remaining check-ins to isolate the cause of the bug.
For change histories to work best, you should always write a meaningful check-in comment for each file. It doesn't have to be long—a sentence or two is sufficient—but it must never, ever be blank.
Use file diffs to compare two versions of a file and see exactly what changed. Focusing on the differences is an extremely powerful debugging technique. You should also use file diffs to review any changes to a file before checking it in. That gives you one last chance to review your changes and ensure they really are what you want.
SourceSafe allows you to make copies of a project called branches, and you can then modify one branch without affecting the other. This is essential for delivering bug fixes to customers without affecting your main development. Branch management is an extremely important aspect of developing.