wdiff is a front end to diff for comparing files on a word per word basis. It works by creating two temporary files, one word per line, and then executes diff on these files. It collects the diff output and uses it to produce a nicer display of word differences between the original files.
mdiff studies one or more input files altogether, and discovers blocks of items which repeat at more than one place. Items may be lines, words, or units defined by user. When in word mode, mdiff compares two files, finding which words have been deleted or added to the first in order to create the second, which is useful when two texts differ only by a few words and paragraphs have been refilled. The program has many output formats and interacts well with terminals and pagers (notably with less).
unify is able to convert context diffs to unidiff format, or the other way around. Some people just prefer one format and despise the other, it is a religious issue. This program brings peace back to Earth.
wdiff2 is intended as a replacement to wdiff. It aims at supporting the same set of options, but uses mdiff instead of diff as its backend.
wdiff, mdiff and wdiff2 were written by François Pinard, while unify has been contributed by Wayne Davison. Please report bugs to email@example.com. Include the version number, which you can find by running the program with --version. Please include in your message sufficient input to reproduce what you got, the output you indeed expected, and careful explanations about the nature of the problem.