WinMerge is a great Open Source Diff tool
In the past I've blogged about some free Windows-based Diff tools—like ExamDiff. However I recently came across WinMerge—an "Open Source visual text file differencing and merging tool for Win32 platforms."
I've only been playing around with it for a couple of days, but I'm very impressed so far. It does a very good job visualizing the differences in files and has a lot of configuration options (such as how to interpret whitespace.) You create patch files, merge the changes together and even compare folder contents.
The feature I really like is Windows Explorer Context Menu integration. The context menu allows you to select two files in Windows Explorer and right-click and select the "Compare" option and instantly get a diff from those two files. There's also an option called "Compare To" which allows you to select a single file and then you can explore to another folder highlight a second file and select the "Compare" option to compare those two files. I really like this option. For me this is generally much more convienent than open the program and using an "Open" dialog to compare two files. I just find when I need to compare two files and I'm not already in Eclipse, then I'm probably looking at the files in Explorer—so the context menu integration is extremely convienent.
NOTE:I choose to install WinMerge by downloading just the archived version of the file.
I always prefer using non-installers whenever possible, because then I have complete control of what's going on. It's also really easy to remove the program if I don't like it.
However, if you choose to use this method, you need to manually register the Shell Integeration DLLs. This is done by just running the "register.bat" file in the WinMerge directory. There's also a an unregister.bat file for unregistering the DLLs.
After registering the DLLs, you then can enable the context menu integration from the Edit > Options > System menu by selecting the options you want in the Integration field group.
This is definitely one Diff tool worth downloading and evaluating.

Comments
1. If you use Svn/TortoiseSVN, you can make WinMerge (or any other,for that matter) your default diff tool for use with SVN Diff.
2. There's an Eclipse plugin that allows you to use WinMerge in place of Eclipse's built-in compare utility.
I've never heard of Beyond Compare, but WinMerge has never let me down. I've never had a reason to look anywhere else, but I might have to take a look...
In StarTeam 2006 (older versions are similar):
Tools->Personal Options->File Tab->Alternate Applications
Check Merge Utility, set the path to WinMerge, such as: C:\Program Files (x86)\WinMerge\WinMergeU.exe
Set the options to: $BRANCHTIP $USERTIP $RESULTFILE
Same for Comparison Utility, except set the options to: $FILE1 $FILE2
And for Linux (KDE) users, there is KDiff3, which can be integrated into StarTeam is a similar way.
Alt+up/down - next/previous difference
Ctrl+left/right - choose left/right difference (or move text left/right, however you like to think about it)
http://www.componentsoftware.com/Products/CSDiff/i...