Because supporting a property in JavaScript that returns the HTML string with in an element isn't going to break anything else. Just because something doesn't come from a standard doesn't mean it's not a good idea to adopt it. It's only when you adopt something that breaks a standard or is in conflict with a standard that it becomes a problem. Supporting extensions on top a standard that break nothing else isn't a problem.
Not completely true.
I don't blame Firefox implementation, after all, HTML was designed with extensions in mind (including ignoring unknown tags).
But it gives support to those extending standards (on a non standard way!).
And surely, extending standards (even with non breaking stuff) is a BAD thing. It creates vendor lock-in. (Think about Visual J++)