Linux users often have to work with text files. It might be writing source code to feed to a compiler like gcc. Or writing LaTeX markup to create a technical pdf. Or maybe a program has run and written its output (say, the value of some quantity as a function of time) to a text file. A good text editor will facilitate text navigation, transformation, and creation, and should work across all such situations.
In contrast to word processors, text editors like GNU Emacs only use text to convey information. The appearance of the text — size, color, font — is secondary (although many editors color-code source code to make it easier to parse visually). Text editors can be large and multi-featured, but are usually capable of operating in a lightweight mode. For instance, running Emacs with the -nw flag will open a simple text-based interface inside the terminal window — an option ideal for editing configuration files on a remote machine.
Generally, I steer clear of debates over the superiority/inferiority of various text editors, but I will mention that I have very little experience with vi. ☺