As long as drives are machanical I will always run defrag. I don't do it all the time though. I do a lot of installing/uninstalling, moving files around, programming (some I end up deleating), and other things that cause excess fragment.
I do a once a month computer check up this includes total virus scan, basic blow out of fan (laptop), checking for installs I won't use again in a long time and removing them, checking for dll's that don't point anywhere, cleaning out history, cockies, and much much more. After all of this is done it gets defraged whether it needs it or not.
I have never had problems with this computer or my past ones (knock on wood) and I atribute it to this monthly service. I built my first computer years ago (oh how I rember the 80-286's) and have never had a hard drive crash, PSU go bad, over heating problems, or major problem for that mater.
I am not saying its becouse I defrag I am saying its becouse I service my machines. Defraging is just one of the things that HELPS.