For practically any given programming language I might want to use, emacs either supports it out of the box, or there is a package available that makes emacs support it.
Plus, it is kind of an integration machine in a much more comprehensive sense than most IDEs - inside emacs, I can run a shell, a web browser, a mail client (although I don't do that), a file manager, an IRC client, an audio player (including last.fm scrobbling!), read xkcd, and much more (don't get me started on org-mode, I am still just beginning to scratch the surface of that).
Being able to use it for so many purposes means that all the skill and muscle memory I acquire in using it pays of many times over across all those use cases. Any customization or extension I make is potentially available across all those use cases.