Performance is a big reason, generally the current TaskPaper editor is fine, but there are edge cases that cause issues that have proved impossible to resolve (for example when editing Korean text, even a few paragraphs it can get very slow). And for longer “novel” sized documents (that I need WriteRoom to support) the whole system gets a bit slow. If I do it all myself I can make it much faster.
Control is another big reason. Building on NSTextView is great until you want to do something that it’s not designed to do. And then it’s a big mysterious black box that you can’t change. For example something as simple as drawing the wide red cursor requires all sorts of hacks. Same with features like typewriter scrolling, padding at top and bottom of the view… it all gets much more complicated then is really needed.
If I own the underlying editor code it makes it much easier to build and debug new features that NSTextView doesn’t directly support with the performance profile that I need. Simple things like a wide text cursor. Or more complex things such as animations and more styling options.