The problems with contentEditable are well-known. There is no real spec. There is a long list of bugs in all browsers, including Chrome and Firefox. There are many incompatibilities between the browsers. Granted, there are some hacks that help get contentEditable mostly working, but it's still a mess.
But contentEditable is fundamentally the wrong solution to the problem of rich-text editing. People copy and paste all manner of garbage into it (sometimes unintentionally). We've written routines that strip out the kinds of html that Microsoft Word produces, but it's still hard to keep the document relatively clean of font-sizes and other formatting problems. What we really want is something that specifies the structure of the document without specifying font-sizes or other appearance-specific attributes -- something like Markdown.
GitHub, StackOverflow and other sites have avoided contentEditable entirely, requiring users to edit in Markdown directly. But Markdown is more difficult to sell to non-programmers.
Medium and Google Docs have solved many of these problems, but their editing components are not open-source. ProseMirror is, to the best of my knowledge, the first industrial-grade open-source component to solve the rich text editing problem.