"Really, they serve totally different functions."Technically yes, but thousands of programs were written in them. I can only say that I wasn't the only one who didn't like it (and I had every reason to love it as even at home I had a fully equipped GodBout/CompuPro dual proc 8085/86 S100 system running CP/M and CP/M86 which was pretty much the king of CP/M systems. (Incidentally, I used to edit the HMXBIOS assembler code for that in WordStar in non document mode. For me it was a dream to used compared with. ED.
Even my resident assembler guru who considered any high level language you'd name too wasteful of CPU cycles, would send a file from a serial port on the CP/M machine to his Intel development system and edit it there then send it back again rather than using ED.
I've seen this dichotomy many times amongst programmers and I've come to the conclusion that it has to do with the ergonomics of the way people think and work.