I use this one:
Link Removed due to 404 Error
It's fast, free and does the job.
The default defragger in vista isn't much good really but then again they never are.. I defrag almost daily as keeping your HD in order makes for a faster machine and yes your HD will look like that after a week even after a day!
When your HD access's the files it needs, it grabs it, uses it and just shoves it back any old where so you can see how quickly a drive can become fragmented.
This page explains it better than me:
Link Removed due to 404 Error