Does it stil make much difference, now that we have much faster and larger HDDs? Generally I find if disk performance is getting too slow, it's probably because of too little free space, and the solution is to buy a new HDD.
It is still relevant, but since the release of Vista, Windows has automatically defragged your hard drive when the computer was sitting idle. If you leave your computer idle for long periods, this is no longer something which must be done manually.
It's not relevant on SSDs, which are hardly (if at all) affected by defragmentation (no read-heads to be moved around). And even more: SSDs have a much more limited number of times each part of the "disk" can be written to ("write endurance"; What is the lifespan of an SSD drive?), so especially for cheap SSDs it's best to use the whole disk, rather than keep using the same parts over and over again by running defragmentation tools.
For those who've partitioned their hard drive: didn't that introduce a huge fragmentation?
And though the question is tagged "windows", for those who get here given the generic title: it is not relevant for each file system. Like for a Mac (emphasis mine):
You probably won't need to optimize at all if you use Mac OS X. Here's why:
Hard disk capacity is generally much greater now than a few years ago. With more free space available, the file system doesn't need to fill up every "nook and cranny." Mac OS Extended formatting (HFS Plus) avoids reusing space from deleted files as much as possible, to avoid prematurely filling small areas of recently-freed space.
Mac OS X 10.2 and later includes delayed allocation for Mac OS X Extended-formatted volumes. This allows a number of small allocations to be combined into a single large allocation in one area of the disk.
Fragmentation was often caused by continually appending data to existing files, especially with resource forks. With faster hard drives and better caching, as well as the new application packaging format, many applications simply rewrite the entire file each time. Mac OS X 10.3 Panther can also automatically defragment such slow-growing files. This process is sometimes known as "Hot-File-Adaptive-Clustering."
Aggressive read-ahead and write-behind caching means that minor fragmentation has less effect on perceived system performance.
There is also a chance that one of the files placed in the "hot band" for rapid reads during system startup might be moved during defragmentation, which would decrease performance.
Of course, the latter would not occur when using a Defrag utility that is included with the operating system.
On my friend's PC (XP, NTFS, 80GB HD, ~750MB free), the 700MB pagefile was in 11,000 fragments, and the MFT was in 40 fragments. I cleaned up the hard drive, defragmented, and rebooted, and the difference was very noticeable.
It matters, but in Vista and Win7, it should be happening automatically as long as your machine has idle time.
Lots of good info.
The speed brought by defrag is especially visible on slower hdds, like those on laptops.
I think it's still relevant. I have a C2Duo/2Gb/250Gbx2 setup, and even with the mirrored "small" drives, defragging seems to help tremendously with startup and program load times.
I would say it still makes sense - specially on hard drives that get a lot of file activities. I run MyDefrag at work to keep my hard drive from getting too fragmented, since at work I usually work on several revision depots that can have thousands of file changes in one day - keeping it defragged really helps on open read performance of the bigger art files I work with, but also on the speed of my text searches.