Several graphical diff tools exist. Why choose KDiff3? Let me say, why I wrote it.
KDiff3 started because I had to do a difficult merge. Merging is necessary when several people work on the same files in a project. A merge can be somewhat automated, when the merge-tool not only has the new modified files (called "branches"), but also the original file (called "base"). The merge tool will automatically choose any modification that was only done in one branch. When several contributors change the same lines, then the merge tool detects a conflict which must be solved manually.
The merge then was difficult because one contributor had changed many things and corrected the indentation in many places. Another contributor also had changed much text in the same file, which resulted in several merge conflicts.
The tool I used then, only showed the changed lines, but not what had changed within these lines. And there was no information about where only the indentation was changed. The merge was a little nightmare.
So this was the start. The first version could show differences within a line and showed white space differences. Later many other features were added to increase the usefulness.
For example if you want to compare some text quickly, then you can copy it to the clipboard and paste it into either diff window.
A feature that required a big effort was the directory comparison and merge facility, which turned the program almost into a full file browser.
I hope KDiff3 works for you too. Have fun!
Joachim Eibl (2003)