The following is just my opinion.
For 7, I found the built in defrag does really well. It takes a while, but it does its job. Fancy graphics would keep me entertained, but oh well.
For XP, I've found that Auslogics Disk Defrag works better than the built in defrag, and the graphics are funner to watch. But I still wouldn't use it over the 7 built-in defrag.