I don't think it's external packages (actually, internal packages eg syntax colouring, various completions, are a stronger argument), nor the related maturity quality of being debugged, and feature-gaps/annoyances filled, buffed, polished. I think it's:
(1) once you get adapted to finger bindings, you're reluctant to lose that investment by switching.
(2) when you first start coding, you have to use an existing editor. It takes some time before you are able to write an editor, or that you start looking at the editor, rather than looking through it. By then, see (1)
Don't believe me? Look no further than Atom. That's exactly what they did.
I agree with the general gist of your first post, but I think it's important to recognize that unless you can build on some portable standard method for defining editor support for programming languages, there is going to be a cost to living in the niche; it is going to make you more hesitant to experiment with new languages. (This is speaking as someone who has also implemented their own Lua-based text editor.)
Sure, Atom has Github paying for it, and they still don't have CIDER.
But you know what? Emacs users came up with CIDER from scratch. It barely builds on top of any existing Emacs plugins. That exact same thing could have been done in an editor like kilo if it had the right scriptable foundation.