Here are my thoughts on this. I quick background to my working environment, I use a MacBook Pro (OS 10.8) and am used to the eclipse environment so I am using the eclipse forceIDE stand-alone.
I have tried out a few code comparing file tools when I programmed in PHP, java, sql and a few other languages so here are my thoughts on the ones I have tried.
Kaleidoscope: http://www.kaleidoscopeapp.com/
I am honestly not the biggest fan of the program, it costs 70$, I believe is only on Mac. Kaleidoscope doesn’t do well if the documents are on separate servers (I know this from PHP experience and honestly have not tried it on Apex code). I also found that many times with code, if there were one line change it would highlight everything below it as well, making it unreliable. Its big advantage is that you can view differences between folders, and images.
DiffMerge: http://www.sourcegear.com/diffmerge/
Is currently the one I am using. It is a free program and works on most operating systems. I think the program works pretty well, as the edited code shows up nicely and allows for pasting of code from file to file. It also alerts you if a file was just saved with changes and allows you to refresh the pages. Another great feature is the ability to look at multiple files, usually when using multiple sandboxes it is nice to see the changes and be able to change all the files once. The only issue I have that I noticed is that it sometimes becomes glitched and is difficult to move the screen around.
I have only tried using DiffMerge with files that are saved locally to my hard drive, I have no information on how well it works between servers.