The moment you start editing files containing more than one language you're pushed to use a dedicated IDE. And then you discover the joy of "good enough". No need to tinker with config files to get the perfect setup: it works good enough to give you a productivity boost out of the box.
which-key being integrated everywhere has made discovery the easiest of ANY editor/IDE I've used. Imagine if there was a consistent place where the menu would pop up if you faltered any key combination. If I'm trying to go a git command in Android Studio (InteliJ) and I forget the command, I don't get part way through and see a popup list of contextual actions. I'm left to move my mouse to the right place, click, and then hope to find my git action in the menu I picked.
More common is the unified way that helm makes dealing with files (you can find similar things in Sublime / Atom / Vim distributions using Unite (or whatever they used these days)). Even though the better editors have this, it's not universal and still a differentiating factor for usability and consistency.
Spacemacs integrates Magit by default. Magit is the first version control interface complete enough that doesn't make me immediately nope out into a terminal for proper git commands.
In my primary projects, I need to edit XML, Clojure, YAML, SQL, Java, Makefiles, and Python files. Spacemacs handles syntax highlighting, autocomplete, refactoring, repl connection and evaluation (where available), project management (makefiles and maven support), and documentation lookups.
All of those text editors above have some excellent and unique redeeming qualities. But at the end of the day their actual language support tends to be weak.
Now I do Python work in Pycharm, R work in Rstudio, and SQL work in whatever IDE goes with my database engine. I use Nvim as my system $EDITOR but at work I'm using it less and less often. I love it and I'll never give it up, but it's becoming more of a hobby tool than something that helps me get things done.
It's still fairly new so most solutions I've seen that use it still have some sharp edges.
I've gone pretty deep into both vim and emacs over the years, and so it always hurts a little when something like PyCharm comes along, and it works better, and does more out of the box than any finely tuned emacs/vim setup (which often take significant time investments).
I use vim for everything, but Intellij (because we have the licenses; I mainly use it for Python at the moment) has my attention. Wish I had more time to learn it; it has been a couple of months and I still don't feel really comfortable. But the capabilities actually make a difference.
Vim is never going away for me; muscle memory, if nothing else, ensures it will always be the most efficient way for me to type text and I spend most of my time in the terminal anyway. And as nice as it was when it was my go-to for everything, there are times when a special purpose editor has a place.
The trick is the setup, but I've only had problems with minor edge cases (like coffeescript 2). Either way I'll spend an hour and use Elisp to fix it. Really nothing I've found is even close to as robust
Spacemacs by extension integrates evil mode entirely, so keyboard macros are available.
I didn't get any strange bugs or slowdowns, but then I am using the `develop` branch which is going to be the upcoming .3 release. I also have a few dozen layers installed.
I would miss Spacemacs' layers way too much if I reverted to vanilla. Its integration of evil-mode is also fantastic, something I don't want or need to recreate.
On FreeBSD the syscons driver lets you edit the keyboard maps in a text file. I don't know how to do it in newcons. I forget how to do it in Linux. If all you care about is X, you can also use xmodmap (IIRC).
Now it's done by simply going to System-Preferences=>Keyboard=>Modifier Keys
Avy Mode, which I suppose is the successor to Jump Mode. Letters light up across the buffer and you can quickly navigate to where you want.
Multi-cursor mode. A Sublime killer feature. Wasn't exclusive very long.
Not sure what it's called, but it binds window changing to shift arrow. Probably my best time-saver.
I've aliased magit-status in my shell and it spawns a new Emacs instance (no demon) and magit in a few seconds.
Combined it’s quite noticeable.
I still use Magit though, because it’s clearly the best git-porcelain around.
It makes everything trivial to do, even rebases become safe and friendly. Its definitely a git client on a league of its own.
It's useful if you don't have an emacs at hand and quickly want to explore a git repository, but that's about it.
I used to use Spacemacs, then switched to vim (better C++ support without ctags, multimodes, easier to get running on remote boxes) -- however I still always use magit as a separate git client, I haven't seen any other git client, GUI or terminal, that gets even close.
Here are some of my favorite Emacs things:
Helm + Projectile. Helm will fuzzy complete almost anything in Emacs. Projectile is project management. Together get to any Git repo and file there in very quick. Helm is an option to compare to IDO. I rarely use IDO due to Helm.
Magit, widely regarded as a good Git UI. Using is believing. Better than command line or most GUIs for me.
Various editing nodes are good enough (Python, Lisp of course, Markdown).
Org mode is it's own beast, but if you like outlines and productivity tools Org is very nice. I use it, not extensively. It holds my todos and meeting notes and makes it easy to ha e very complex notes in one doc.
Basic text editing. I think Vi has some things it does better than Emacs here, but it is still very powerful and rewards learning the finer details.
Realizing you are in a Lisp machine. A calculator is no further than your Emacs window. Learning to hack Lisp and elisp is its own reward.
I think the time spent learning it is worth it. I think the math checks out in terms of efficiency. I also know Emacs is not going anywhere. Same with Vi.
There is much more to it all, but these are things off the top of my head. There are many smaller things that connect up how I work via Emacs... But there is a lot to it.