CVS is no magical tool that makes your life easier. In fact, it does make your life harder because it requires self-discipline to work. You just can't live like a pig in the field anymore - you need to think about others. For example, in your own code it's quite acceptable to break the code, but when doing collaborative coding with other people, you just can't do that.

You often need to do many small changes to code that is supposedly owned by someone else. You know, fixing javadoc typos, making null checks, adding debug code, etc. If there is no graceful way of merging your changes with the code owner's changes, you're screwed. Diffs against a common version are possible, but isn't it just much easier to let the VC system handle it?

In fact, if you wish to abolish the concept of code ownership (required if you do merciless refactoring), you need to have a common code repository, with version control.