Personal Version Control Systems
Versioning was once a hot hypertext topic, one of the Halasz Seven Issues. It's never really caught on, inside hypertext or out. (The exception is Frank Shipman's VKB, a spatial hypertext system with a VCR control that lets you rewind instantly to any point in the document's past. It's a fascinating experiment in infinite undo)
Programmers use version control systems so several people can work on the same project. You "check out" a chunk of code that you need to work on; if someone else tries to change the same chunk, they're told that you've checked it out and they need to wait. Version control systems make it easy to store copies of old versions and to compare them with new versions. Important to understanding rapidly-changing code, version control systems are also wonderful for looking at the ways a draft of a document changes over time.
Version control systems don't store old documents in their entirety. Instead, they figure out how documents have changed, and only store the changes. That means you can use them freely without worrying about disk space.
Right now, I use Voodoo Personal for documents and SourceServer for programming. Voodoo is $79, and seems to work nicely with just about everything. It's from a small German firm, interestingly.