Two words: excessive complexity. It's always seemed strange that an application called TextEdit is actually more than a text editor. I strongly believe that content-type autodetection, much less HTML rendering(!), most certainly does not belong in a text editor.
It's perfectly reasonable to expect a text editor to support more than literal unicode, and to work with a variety of commonly-used formats.