viper (ordered by creation date) come built-in with Emacs, all of those emulate VI.
vim-mode is a newer, stand-alone effort to actually emulate Vim,
vimpulse is a set of extras on top of
viper to give one the most useful Vim features.
evil was created as replacement to
evil is the most recent project and the only one that's actively developed. Its goal is to emulate the editing model of Vim faithfully, leveraging existing Emacs functionality wherever it can. Personally I'd say it's about 90% complete, because a few newish commands (such as
gn) are missing, some display-related functionality is fairly hard to recreate (like the display of tildes after the end of a file) and it not implementing a Vimscript interpreter or anything beyond the basics of Ex mode. However it is easier to extend and to introspect than the original, the
evil-* extensions are the Emacs equivalent to Vim plugins in nearly all cases (
evil-leader for example would be an exception because it's not necessary to offer considering Emacs keymap support).
evil is surpassing Vim at points (see
:s and its visual preview or how little effort creating an useful new mode poses), I wholeheartedly recommend it to everyone interested in modal editing for Emacs.