Various CVS operations cause the working copy to have a sticky tag, meaning a single tag that corresponds to each revision for each file (in the case of a branch, the sticky tag is applied to any new files added in the working copy). You get a sticky tagged working area whenever you check out or update by tag or date, for example:
floss$ cvs update -r Tag_Name
floss$ cvs checkout -D '1999-08-16'
If a date or a nonbranch tag name is used, the working copy will be a frozen snapshot of that moment in the project's history – so naturally you will not be able to commit any changes from it.
To remove a sticky tag, run update with the -A flag
floss$ cvs update -A
which clears all the sticky tags and updates each file to its most recent trunk revision.