IMHO versioning is a must. I have a subversion repository set up on Dreamhost. I do my development at home and at work, so just before I leave work for the day, I check in all my work, and update my source when I get home. Beats the heck out of using a thumb drive to shuttle my files between home and work.
You can also roll back to previous versions if you break things, and look at your past notes so you can see what you did for any given version. If you set up your repository right, you can do a release, and still work on your next version...isuue patches...roll back to previous versions, etc.
It makes me sad to think that I didn't use version control for all of these years...