Definitions

Repository
The directory containing the master copies of the files
Module
A symbolic name for a collection of related files or directories which form a specific project or part of a project. The symbolic name allows CVS to operate on the collection as a single unit.
Tag
A symbolic name for a revision of a file or collection of files/directories.
This is most commonly used to mark all the files in a module at a given stage of development. This makes it easier to revert to this version of the source code at a later stage of development. Alternatively it could be used to view all the changes since the last stable version of a code.
Branch
An independent line of development, which diverges from the main line of development at some stage.