What OS are you using?
Vista's Defrag is pretty good.
XP's is real good as well for a free defrag. I have read somewhere <<<KB search hat on>>> that Microsoft made some new and really good optimizations to defrag in SP3.
For a defrag that you have to pay for I use O&O Defrag and have had great success with it since version 8.