I have had only good experiences working with Meld. I use it when I have to do messy code merges between branches. It is simple to use and has a clean interface.
Open Source
Linux, Windows and MacOS Supported
Multiple File Diff
Three-way Compare Support
In Ubuntu, install is as simple as: sudo apt-get install meld