We used Time Machine as our source control. It was....adequate. If the project is small and you don't foresee many changes during development, Time Machine *might* work alright for you. I would suggest some other means, but if pressed, Time Machine can work.

Mac users swear by their computers, PC users swear at their computers. ~Unknown

I use Time Machine and wouldn't want to do without it now, but it's definitely not designed for source control. You'll want subversion or another version control system specifically designed for that purpose.

Even if I'm developing something by myself, I don't think that I could do without svn diff and svn revert anymore. It's simply too handy of a tool to try out some small changes without needing to make a branch. Time machine would not be able to help me there.

I probably *should* be using Time Machine (or at least something) for backups now that I have half a terrabyte of free space just wasting away on my external drive.

I absolutely love time machine, but I've never had the need to keep old versions of my projects. Occasionally I've overwritten a file or lost something important and I've always been able to recover in a few minutes with time machine.

I'm using cvs for development ... though I need to upgrade to subversion.

Once a month, I'll manually backup with Time Machine onto my external firewire drive. Important to have everything on more than one physical disk. Sort of nice because Time Machine appears to copy a difference onto the external disk which is much faster.

Xcode has snapshots too. This is good for a quickie backup if you don't want to check in.

I recently started experimenting with that - it's simplistic but plenty good for locally hosted one-man projects. The visual diff tool is kinda useless though, and you'll still want to backup the snapshot repositories to another drive (or use time machine). Snapshots also don't track shared code that lives outside the project root, which could be a problem for some folks.

Please don't use time machine as a replacement for proper version control. Also, while we're at it, keep the commit messages meaningful, you'll be glad when you have to go back and look something up a hundred revisions later.

Like others have already said, Time Machine is no replacement for version control.
I use Time Machine with Time Capsule. The Time Capsule was a big headache to setup, but now that my MBP's disk is making a clicking noise I'm somewhat relieved that I have it.

If you're using SVN, I've found Versions.app to be a pretty good tool for looking over your history. I still use the command line for commits and basic repo management, but when I want to find a particular version of a file, or see a visual diff, Versions.app is excellent.