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.
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.