1) lisp interpreter
2) text editor library written in lisp
3) a very flexible text editor
4) whatever you want to make it
Because it's a general purpose programming language you can write anything you want in Emacs lisp. That's why you find tetris, web browsers, and e-mail clients written for Emacs. There's a great culture of sharing your work too[1], so Emacs can be a powerful toolkit that supersedes traditional shells in some ways.
You have unlimited access to customize your editing experience. Everything the editor does can be changed because you have the same access to the interpreter & libs as the editor itself. Every key can be bound to a function, and the normal alphanum chars and such are bound to insert themselves by default, but you can change that. So if you want { to insert the closing } automatically, you can do that without much trouble. You can write it, evaluate the code, and then use it instantly without restarting your editor.
Personally I just use it for coding, but for me coding includes running zsh and a host of other REPLs. (ruby, python, javascript, ...) Some of the packages I have used approach or exceed IDE levels of integration with the project being worked on[2][3].
You can compile a C program or run grep and then step through errors/warnings or search results visiting each line and doing what you need to do. This is one way that Emacs one-ups the shell which prints static text as output. Emacs wraps that in an interactive interface, which is great in a lot of situations.
[2] http://rubyforge.org/projects/emacs-rails/
[3] http://github.com/samsonjs/mojo.el
edit: One really cool thing I forgot to mention: js2-mode. Steve Yegge wrote a JavaScript parser in Emacs lisp which means that when editing JavaScript - which I do a lot of these days - the syntax highlighter has an immense amount of information to work with. Global vars are coloured differently from local vars (very important in JS as undeclared vars are implicitly global, ugh). Syntax errors get underlined in red instantly. If you've experienced this in other IDEs you appreciate how awesome this is. You never run your code only to find that you made a stupid syntax error that needs fixing. Someone could use js2-mode to write advanced IDE-like functionality for JS, such as renaming & refactoring.
Anyone could implement something similar for any other language, if they have the time & will.
In short, give either a shot. You might find it does everything and more that your current editor does. Neither be 100% comfortable to you over night, but in time you'll wonder why you worked with anything else.
Even the "configuration files" are, really, Lisp code, not bags of values and options.
Vim configuration is also not a bag of options and values; by default, it uses vimscript. vimscript is an interesting language (supports a form of OOP) but only really usable in the vim world, so it is up to you if you want to learn it to do things besides assign values to options.
Alternatively, vim allows you to do editor customization in perl, and while I have found very little documentation for it, it also supports mzscheme.
How does this kind of thing help anyone? Why is Notepad just not good enough? You can add entire text-manipulation features to your editor, including Intellisense to your specifications, tools for refactoring, integration with other tools outside the editor, and so forth.
Both editors have large communities and have few real competitors for fast and powerful text editing (I hear TextMate comes close).
C: 20% ELisp: 78%
That said, I often trade the time + context switch of moving to the mouse for a slightly less-efficient keyboard command. Overall it's probably a toss-up, I just like to stay near the home row.
My friend at work uses the mouse a lot and he's very good at using it to edit text.
The mouse is better for some things (especially relative/spatial stuff), and the keyboard for others, but interfaces that make you switch back and forth are clearly problematic. Rather than popping up dialog boxes and alerts, Emacs displays results (such as compiler output) in another buffer. If it needs immediate input, it uses the minibuffer, a one-line buffer at the bottom of the screen.
In either case, its full text-editing functionality is available. You can run a directory browser/editor, a web browser, shell, interpreter, e-mail client, irc client, etc., and it's just another text window.
FWIW, Marco Baringer's SLIME screencast ( http://common-lisp.net/project/movies/movies/slime.mov ) is a pretty good example of proficient Emacs usage. That convinced me to try Emacs after using vi for several years.
Also, for you or anyone else reading this thread, http://emacswiki.org/ is the place to go for info.
http://www.emacswiki.org/emacs/TabBarMode
Tabbar works great for switching between the 3 haskell files I have open (note: tabbar only switches between files of the same type).
Regular buffer switching (or even better, anything mode http://www.emacswiki.org/emacs/Anything) works great for switching between the roughly 200 java files I have open right now.
Further, Emacs standard switch-to-buffer command selects the last visited file by default so you can flip between files with C-x b RET. Slightly longer than alt-tab, but not much once it becomes muscle memory.
And a nice point of text-based programs generally is that they are easy to use over ssh allowing you to access your programming environment everywhere.
(btw, if you learn emacs well enough, you're commandline-fu goes through the roof)
Brian Fox[1] developed the readline library to handle bash's interactive input. Between Brian Fox having been an Emacs maintainer, and bash being a GNU project, the keybindings followed suit...
Had bash been "Bill Joy's[2] Awesome SHell," things might have gone differently :-) Well, it would've just been csh[3] (written by Bill Joy.)
[0] I address this introduction to anyone not already "in the know."
[1] http://en.wikipedia.org/wiki/Brian_Fox
1) Both vim and Emacs are really really good at basic text manipulation. This means for navigating files and entering/changing text, they're really quick (and don't require a mouse). Most other editors and IDEs are really bad at this.
2) They're amazingly customizable, which means whatever you want your editor to do, they can do.
3) People love messing around with them. I've been there, and I can tell you it's really fun. Finding all the amazing little things Emacs/vim know how to do, finding that extra few lines of code to make that make them do some neat trick, it's all very fun for people who love tinkering with their tools.
Disclaimer: I am not an active Emacs/vim user. But I have used both for long periods, and I respect the amazing things they can do and teach.