The built-in defragment tool of Windows is not the best one. I heard that there are a ton of better ones out there - but which one is really good?
For a free option at small shops I've been a fan of Defraggler
The necessity of a good 3rd-party defrag tool isn't quite what it used to be, though they're of course still hotly peddled as cure-alls beside generic system cleaners.
The NTFS file system is quite an improvement over FAT32 in this regard, and this TechNet blog article discusses some of Vista's improvements in particular: Don’t judge a book by its cover – why Windows Vista Defrag is cool (nonpartisan I know ;).
I'm putting forward that a 3rd party defrag tool is entirely unnecessary. The system scheduled idle defrag (find it in Task Scheduler->Microsoft->Windows->Defrag) is more than capable of keeping up with system fragmentation and a manual defrag has little benefit of significance. (Although by all means if you wish to target highly specific performance sensitive problem files and directories with the likes of contig as mentioned you should do so.)
I believe this is verifiable by simply running the utilities in question and noting that the reported fragmentation is within practical performance levels. (See the article for possible misconceptions.)
Back to the original question: If you merely want to replace this scheduled task with a good defrag tool then my recommendation is for the Windows one already in use, at least on Vista. ;)
On earlier versions of Windows I'd vote for Perfect Disk merely on the result of my past "x vs x", "x better than *", and "x compared to *" Google queries (try the wildcards). For anyone really gung-ho about a substitute for Vista's I'd probably suggest it there as well, or at least the Google searches for comparative research.
defraggler has always suited me fine, I've no idea if its any good. But it's portable and appears to work.
JkDefrag, it's open source, fully automatic, can be run as a screen saver or from a Scheduled Task.
JkDefrag is a disk defragmenter and optimizer for Windows 2000/2003/XP/Vista/2008/X64. Completely automatic and very easy to use, fast, low overhead, with several optimization strategies, and can handle floppies, USB disks, memory sticks, and anything else that looks like a disk to Windows. Included are a Windows version, a commandline version (for scheduling by the task scheduler or for use from administrator scripts), a screensaver version, a DLL library (for use from programming languages), versions for Windows X64, and the complete sources.
Defraggle is good stuff
Sysinternals (now bought by Microsoft) made a free command line tool called Contig that at least have one nice feature in that you can point it to a directory and it will defrag only that and the subdirectories but not the rest of the disk. I have no experience with the other programs mentioned in the other answers. The performance hit when running contig is noticeable.
My site just deployed 'PerfectDisk'. It looks to be a good tool and can be centrally managed and deployed to the Desktops. I just ran a few defrags with it and it did improve speed and has a detailed interface letting you know what's going on.
IOBit SmartDefrag is fantastic -- we used to shell out for the cadillac version of Diskeeper for our servers, but now we just use SmartDefrag. It's got all the functionality in the sfotware we were paying for, and even has a feature that optimizes the placement of more frequently used files.
i've tried Diskeeper, O&O Defrag and the rest. i find PerfectDisk to be the best.
It actually defragments my hard drive, rather than complaining when there isn't 20% free space. It also doesn't try to be an enterprise defragmenter, or a defragment-while-you-work product - taking up computer resources and causing I/O delays while i'm working or playing.
i schedule it to run at 1:00 AM. It runs at 1:00 AM, and then stops running.
I recommend the open source UltraDefrag. It has boot time defragmentation, a feature implemented by the author at my request.
I use Magical Defrag, It is pay software at about $20 depending on where u come from but it does a good thorough job.