They all use the same APIs within Windows to do their thing so it's no massive difference either way. Any app that claims to use its own APIs should be avoided like the plague.
One or two products have a few handy features. For example, Defraggler will move your large files (read: Movies and ISOs) to the end of the disk where they'll stay out of the way and unfragmented.
Obviously, any commercial defrag app is a stoopid idea since they offer nada over the free implementations.
Also note that defragging your drives is something you should only do occasionally. Running it frequently is just going to shorten the lifespan of your drives and consume a whole bunch of power for little to no benefit.