When comparing Kdiff3 vs vimdiff, the Slant community recommends Kdiff3 for most people. In the question“What are the best diff tools for Git?”Kdiff3 is ranked 1st while vimdiff is ranked 7th. The most important reason people chose Kdiff3 is:

KDiff3 is completely free to download and use. It's also open source released under the GPL.

Pros

Pro

Free and open source

KDiff3 is completely free to download and use. It's also open source released under the GPL.

Pro

Supports 3 way merges

For modern version control systems, 3way merge support is a basic requirement, but many other open source diff viewers do not adequately handle 3way merges.

Pro

Can compare directories

It is able to compare whole directory trees.

Pro

Supports editing files directly

In addition to comparing two files it also allows you to edit the merge result right in place.

Pro

Diff by character not by lines

On comparing two files, difference is shown by characters; not by lines.

Pro

The UI is customizable

Allow customizing colors regardless of user/system theme.

Pro

Supports manual code aligning

With selecting code in one window and hitting Ctrl+Y, then selecting some other code in second window and also hitting Ctrl+Y you can manually align the code.

Pro

Preprocessing before calculating differences

There are options that may pre-process compared files before Kdiff3 actually do a comparison - to ignore for example automatically generated dates and/or revision numbers added by commit hooks.

Pro

Context menu shortcut

You can right-click a folder/file and the options:

Save <file> for later

Compare with

will be available, making launching KDiff3 really convenient.

Pro

Lightweight

Since it's inside vim, it's very lightweight and fast. It fires up quickly and it does all operations painlessly.

Pro

Mouse-free interface

It's practically vim, this means that the whole interface is mouse-free, this increases development speed significantly since you are only using the keyboard.

Pro

Helpful to people who work a lot inside the terminal

Using command-line tools (vim/git) keep you stick in the terminal.

Cons

Con

Problems when files have different number of lines

For example, if you add 3 lines: A, B and C locally but on the other change there are only A and C, Kdiff3 will work out that A was added, then it says that B conflicts with C but adds C again anyway.

Con

Slow for large files

Con

Confusing GUI

4 sub-windows (when you really only need 3), a lot of different colors and even more confusing result-window. No links what has changed between versions and and the result. It clearly shows it's dated or rather outdated. Great if you ever need to do a command line merge, otherwise it sucks.

Con

Not for people who are not used to vim

Since this is basically a vim feature, it's clear that people who aren't used to vim and it's keyboard-based interface would find it very hard to work with vimdiff.