- The keybindings are not the standard CUA ones. Even with Cua Mode, every page on the internet still suggests using the regular old Emacs keybindings. There's weird conflicts between some packages, especially if you use non-default keybinds like Evil. The defaults are not even ergonomic (Emacs pinkie is a thing...) or mnemonic, so there's really nothing but historical interest that makes them the way they are.
- There's no namespacing between packages. They can run right over each other and cause weird bugs. This isn't theoretical; it's what happens when you have a bunch of packages installed. Sorting out performance issues caused by the interactions between packages is very challenging.
- Lots of other defaults are super user-hostile. To get anything approaching the productivity of an editor like Sublime or VS Code, you have to spend hours installing packages, learning their unique keybindings, and sorting out conflicts.
- The base is minimal in a way (it's missing a ton of what is needed to be considered useful today) and also very bloated (it has things like mail readers and web browsers and IRC clients included). The set of default utilities needs to better match what people actually use a text editor for.
At the same time, it does do plenty of things right:
- From anywhere in the editor, you can run code---you don't need to make a new package to be able to execute a snippet of Elisp.
- Unicode works OOTB, which is impressive for a project of that age.
- Some of the "killer apps" like Magit and Org-mode are really good and have spawned their own ecosystems.
- Emacs is oftentimes the first editor to get support for super-obscure programming languages through a package.
A lot of what makes Emacs so cool and so difficult comes from the fact that it doesn't have an "extension API"---packages just run the same kind of Elisp that the editor itself is (mostly) written in.
Edit: I should also add that Elisp is an absolutely terrible programming language when compared to more modern alternatives.