Defragmenting, on paper, looks like the best optimisation you could possibly run on a computer. I was a proponent of Defrag for a little while until I realised a cruicial thing, that 5 hours or so I spent defragging my HDD did absolutely jack.
Okay, maybe a little, probably in a rapidly vanishing-over-a-few days benefit of 1-5%, something that can be attributed to a placebo effect.
However, for certain situations, it might be prudent to run a defrag on your drive. The most important is when you filled up your drive beyond 95%, because then just about every single file you modify and create on that drive will be broken up into many dozens of 'fragments'. The remedy is to move data off that drive, THEN defrag. And never fill your drive beyond 85% again.
OS X (don't know since when) has automatically defragmented files above 10MB, and apparently will also DF smaller files if it deems necessary. Rarely accessed files won't get DF'd for good reason.
And to reiterate, quoting the above poster:
The very first thing I'd do if they asked me to help would be to defrag their drives and also to free up some space....
The bolded part first, you can't defrag a full drive. The problems will stay away if you keep your drive <85%, all the time.
This is a basic maintenance question: When I go to my auxiliary drive to do maintenance on my main drive, I often wonder what the order of doing maintenance should be. Should I de-frag first or re-build the directory with Disk Warrior first? If this matters, I do my maintenance every weekend.
I don't know what you use your main drive/computer for, but unless it's for work or something vitally important, a weekly DF is a little overboard. Hard drives these days and OS X transcend all these problems, cache, NCQ, faster IO etc.
Logic says: fix the index, then order the pages. You rather have the index pointing to the right pages before you blindly pick the bits.