Updating code across multiple projects and committing is so easy and frictionless.
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.
1) I can very quickly arrange the workspace with whatever windows in whatever shape next to each other for viewing multiple code files. Some IDEs have split windows, but they are never as flexible as emacs, and the ability to save window configurations, launch entirely new frames, quickly jump back and forth between window layouts, makes me very productive. And of course, doing all of this without ever touching my mouse.
2) Yasnippet. The ability to write syntax completion logic for commonly used idioms really takes a ton of typing out of my day. Several IDEs support snippets in various forms, but I've never seen any as flexible as the yasnippet plugin, which is extensible in lisp. It has been much more useful for me than generic autocomplete.
3) Quick font zooming. I like being able to enlarge a font with one keystroke rather than jump through menus. Late at night when my eyes are tired, I can make everything bigger, or if I want to fit an entire coding file on the screen to see its full API, I can make just that split have a tiny font, off to the side, while my main coding split has normal font. And I can do all of this in approx 0.5 seconds.
4) Vim macros. I use evil mode in emacs, and many say its Vim bindings are better than vim itself, somehow. I use vim macros every single day, they do so much to save time when refactoring.
5) No buttons or nonsense on the screen. Just code. Literally no part of my laptop window has any space that is not used for coding, yet I can navigate better with all the keystrokes.
6) Automatic support for any language I wish to try, with proper syntax highlighting, indentation and all you'd need to edit code. Bash, C++, CSS, HTML, Javascript, Python.. heck recently I decided to try Erlang and the emacs mode for Erlang is a full IDE with automated builds and editing.
7) Undo Tree. Another little plugin that makes navigating your entire edit history easy, with all the branches in your workflow.
8) Ace Jump or similar (I'm not sure which of these I actually use, it's just in my muscle memory). With a single keystroke, jump to any word in any code file on the screen. If your eye can see it, you can jump right to it without navigating line by line or switching windows.
There is so much more but these come to mind. Every time I try Xcode or Sublime or Vim itself or Brackets or Eclipse or any of myriad other IDEs I instantly miss the raw basics of how text editing should be, especially when working with code files.
I will admit that I used emacs every day for at least a year before I came to find it so indispensable, because the learning curve and rewiring how you think about text editing is non trivial. Emacs is a lot like New York City. When you first move there, you think how the heck can all these people live this way?! Many people don't last too long and leave within a couple years. But those who keep at it and live past a certain threshold of time will often never leave. And if they do, they will miss it terribly.
Emacs is famous for two tools in particular, Org Mode and Magit. Ironically, I don't use either at all, yet still find it critical to my professional life.