System Restore has saved me in a pinch a few times. I find that it allocates far too much of the drive, however.
While Windows XP has a slider-bar to adjust the amount of disk space used by System Restore, Vista does not. Until someone writes a GUI app for this, it can only be done by command-line:
vssadmin resize shadowstorage /on=[drive]: /for=[drive]: /maxsize=[size]
For example, to limit System Restore to 1 gigabytes on the C: drive, use:
vssadmin resize shadowstorage /on=C: /for=C: /maxsize=1GB
A quick Google search reveals that at least someone has written a batch file to simplify the process of adjusting System Restore’s disk usage in Vista: