We'd like to be able to integrate changes from different versions more easily than just re-coding the entire change. Revision control makes integrating changes easier. A developer who lives on the other side of the world is sending you patches almost every day. It's great to get all this help coding, but you're having trouble integrating all their changes, since you're not quite modifying the same code. If only you could share the same source more easily.
Revision control can make working in a group easier.
A change that was intended to speed up the program instead just slowed it down. Revision control lets you go back to previous versions. In all these situations, a revision control tool would really help us do the job with minimum fuss. Essentially CVS creates a database of the change history of your code. RCS is good for keeping a few files under revision control in a single directory, but CVS is much better at handling many files and multiple directories.