Mostly because we don't have any standard markup to say "this is the content". Which means reader mode has to guess which tags contain the content, and this whole thing boils down to a pair of regexps[1]
[1]: https://github.com/mozilla/readability/blob/08be6b4bdb204dd3...