KDiff3 compares two or three input files and shows the differences line by line and character by character. It provides an automatic merge facility and an integrated editor for comfortable solving of merge conflicts. KDiff3 allows recursive directory comparison and merging as well.
This is the standard version of KDiff3, highly integrated into KDE. It has got KIO support (allowing for remote access of files and direct access to files in compressed archives) and integration into konqueror's context menu. There's also a stripped-down version called kdiff3-qt not depending on the KDE libraries.