My understanding of Defrag is that when you save a file to your PC it puts it where it can, this may entail splitting the file into bits to save it. It then creates an EOF (end of file) command telling it where to go to get the next bit..this is why sometimes computers are slow. Defrag uses that EOF to find and move the associated file bit next to each other thus making you machine faster.
Also because it is moving and over writing files it is basically removing them althogther.
I also use Crap Cleaner -
www.ccleaner.com
And as stated, machines these days have such a super seek time that defrag may not have any effect, but Its nice to do every so often
F4Fan