It would be a whole lot easier if someone put together a set of basic configs for various languages that had language servers, completion, etc. and everyone referred new people to those. It's much easier to tweak and replace stuff than to assemble an entire config wholesale.
This is relevant because COC is basically a system for talking to language servers.
On the flip side, if you want easy configuration, then yes, vim/emacs/similar are not necessarily the right choices for you, but I don't think that means they are generally bad options.
I don't think this advice makes sense at all. I can't maintain cc-mode and I don't understand how it works, yet I rely on it.
Users should not be expected to understand how the TypeScript autocompletion works in order to get it working. I can open VS Code on a TypeScript project and get autocompletion working just based on the tsconfig.json, much of the time.
libraries live or die based on their interface.
Hence why, despite my interest in Fish, I'm still just making do with Bash, I just can't justify the time to make a proper switch.
Sure, there are a bunch of choices for you to use... but now you have another problem -- there are a bunch of choices.
These are not questions I've ever had to ask myself in the ~8 years I've been using IntelliJ IDEs for coding full-time.
Maybe it's easy to fix vim in this case, but it's really annoying to constantly have to Google your problem, find a fix, test out new configs, etc.
I left Linux after 20 years for the same reason. I'm happy to pay a small amount to have highly-paid software teams figure these things out for me.