One major weakness of Time Machine is that it only backs up at the file level. I run Parallels and virtual Win 7/Win XP machines on my Hackintosh (odd, yes, but it works for me), and Time Machine backs up the 24GB VM files every hour if I'm using them.
I've since started using QRecall (
http://qrecall.com). It's much more configurable and versatile than Time Machine, but the real win is that it backs up only the parts of a file that have changed, which makes the backups vastly more space efficient. You can control the granularity of the "quanta" that it divides files into, trading off space for speed or vice versa.
When you restore a file, it pulls the disparate pieces together from the various backups to reassemble the file as it was when it was backed up. Like Time Machine, you can keep an arbitrary number of "versions" of a file going back into time.
That said, there are some drawbacks:
1. Time Machine backs up every hour. You could configure QRecall to do this, but probably don't want to. Daily backups work best for me.
2. It's not as woven into the structure of the file system as Time Machine is. Thus, you can't (for example) easily restore individual deleted messages in OS X Mail.
3. Restoring an entire disk requires reinstalling OS X, downloading and installing QRecall, then restoring from the backup (it can restore everything to your current boot volume, which is nice). With Time Machine, you can restore directly from the recovery partition or boot CD.
All that said, I'm still really liking QRecall. Time Machine over the years has worked well, but occasionally has plagued me with its lack of status reports and the "Time Machine Encountered an Error" messages. QRecall builds in lots of data checks and can run verification passes to validate your archive at defined intervals.
Definitely worth a look...