Vista stores a lot of useless crap, like old DLLs when you install service packs (in case you want to uninstall) and so on. Every time you install a patch/update, the old files are retained and must be cleaned out, for which purpose many utilities exist on the web including Microsoft's website.
Finished Installing Windows Vista SP1 ? Now Remove All The Junk Files
Service Pack Cleanup Tool In Vista SP2 To Clean up Old RTM & SP1 Backup Files » My Digital Life
and so on.
I also personally don't use System Restore, it's just a waste of space in my opinion. All I have ever seen inrestore images is copy after copy of the same viruses that have been on a client's computer for months or years.
Also, don't use a self-adjusting swap file, that's another space-eater. Make a partition, prefferably on another hard drive, that is about 25% larger than the size of swap file you need and then put the (fixed-size) swap file there. Some people like to keep a small (200-500GB) swap file on the C: drive and then put the rest elsewhere, to handle kernel dumps. If you don't know what a kernel dump is, just put the whole thing on the new partition. I use 4GB on my laptop because that's the largest 32-bit Vista will use (so my partition is 5GB to avoid the low-space warnings) and 500MB on my 8GB 64-bit Vista machine (because I really don't want the swap file to be used unless it really has to be to prevent crashing).