Fragmenting drives are a fact of computing life. Every operating system has to move files around just to keep the machine running, and it is not the fault of the operating system itself.
Nonetheless, every version of Windows (with few exceptions) has been delivered with a defragmentation (defrag) tool. Far from an admission that the operating system is somehow deficient, this is a reflection of the importance of regular defragmentation.
For more about disk defragmentation and causes, the Disk Defragmentation article is a good place to start.
The issue with the standard defrag tool is that it is a manual process. This means that it is easy to forget, and by the time the user finally remembers, the drive has already become very fragmented.
This means that is takes a long time to analyze and correct the problem. Time which most users can ill afford. On top of which, the standard Windows defrag tool comes with no monitoring features to check the state of the drive.
Enter a specialist tool - Diskeeper 2008. For first-time users, it offers faster analysis than the built-in defrag tool supplied by Microsoft. The optimization process can take a while, but seems more complete and faster than the defrag tool. There is a basic scheduling option that allows for set and forget timing.
The fact that usage revolves around set and forget options is useful, and the front end is easy to use and reasonably direct. Reporting is easy to follow, and the results are clearly indicated before any repairs are made.
Where Diskeeper offers stand-out functionality is that it can be set to run in the background, continually monitoring the system for fragmented files. Along with many other advanced options to help keep the disk healthy, this makes it much less obtrusive and should help to keep the drive in peak condition.
Even if, for some reason, Diskeeper does not fit the bill, there are a number useful features to bear in mind that make comparisons of defragmentation tools somewhat easier. For example, a tool with no scheduling option is no better than the Windows defragmentation tool.
Better than pure scheduling, which requires that the machine is left running whilst the operation takes place, is the possibility to use idle time (such as a coffee break) to perform defragmentation tasks. Then, when the idle time stops, and the machine is being used, defragmentation is suspended until the next natural break.
The best defragmentation tools, however, take everything out of the users hands, and defrag the disk in the background. If they use more than 3%-5% of the CPU time to do it, then they will get in the way of normal use. Diskeeper, for example, uses barely any CPU time, and varies usage depending on what the machine is doing at the time.
Although other options (such as boot time defragmentation) might sound attractive, and might be useful, the core reason to use a defragmentation tool is to keep the drive uncluttered and well organized, with a minimum of user intervention - if the tool can not do this then the additional features are just window dressing.