I have always been hugely sceptical about defragging software. Then recently I upgraded my home network to gigabit, but was disappointed by the network speeds from one particular (XP) machine. It was achieving half the speeds of other machines on the network.
It turns out the hard disk was badly fragmented -- the 10 most fragmented files averaging more than 20,000 fragments each! In fact it was so bad that XP's built-in defragmenter wouldn't work. I tried it a couple of times, and it just played with the files but didn't fix them. Just kept reporting that I still needed to defragment my disk!
I turned to JKDefrag, and it did the job. It took 12 hours, but it worked. So yes, in my experience, an occasional defrag is probably a good idea and yes, if your disk is in a bad way, trying a specialist program like JKDefrag is worth a shot.