One thing Meld cannot easily do (unless it's changed very recently) is manually align blocks of text when autoalignment fails.<p>I recommend Diffuse for that, and also for three-way merging: <a href="http://diffuse.sourceforge.net/" rel="nofollow">http://diffuse.sourceforge.net/</a><p>I do join in recommending Meld for your everyday diff/merge, though. :)
I love Beyond Compare: <a href="http://www.scootersoftware.com/" rel="nofollow">http://www.scootersoftware.com/</a><p>Even though it's commercial I gladly payed for it. It's really fast, does a great job on aligning automatically, easily lets me isolate blocks or do manual align, has rules for comparing files, and I could go on.
What about vimdiff, that's already installed on most (unix-based) computers?<p><a href="http://andrejk.blogspot.com/2008/04/vimdiff-howto.html" rel="nofollow">http://andrejk.blogspot.com/2008/04/vimdiff-howto.html</a>
How does it compare to ediff? This has been my diff tool of choice lately but I'm always interested in improvements.<p><i>note:</i> I use Emacs for many other things so that specific point is not a pro or con for me.
Plastic SCM's diff/merge tool has a unique feature that can be useful: moved code detection.<p><a href="http://www.scootersoftware.com/vbulletin/showthread.php?p=24868&posted=1#post24868" rel="nofollow">http://www.scootersoftware.com/vbulletin/showthread.php?p=24...</a><p>It is a newer commercial product with several rough edges, but now there's a "community edition" to try out (it's possible to use just the diff/merge tool without obtaining a license key to setup the server portion):<p><a href="http://codicesoftware.blogspot.com/2010/11/building-plastic-scms-community-with.html" rel="nofollow">http://codicesoftware.blogspot.com/2010/11/building-plastic-...</a>
Does it support non-ASCII/non-UTF8 encodings now?
meld's failure to do anything meaningful with files in other encodings (i.e., 95% of the sourcecode I have) made me go with diffuse even though meld looks slightly nicer.
Old but still relevant:
<a href="http://amjith.blogspot.com/2007/07/visual-diff-tools-in-linux.html" rel="nofollow">http://amjith.blogspot.com/2007/07/visual-diff-tools-in-linu...</a>
Meld is the only tool I know of that shows a 3-panel merge. That's the killer feature for me.<p>Now, if there were an OSX-native app that does 3-panel merges, I'd gladly switch off of Meld.