Bert Bos | What's next after CSS and XSL?
The working group is aware of these inconsistencies, so they are not oversights. In fact, they have all been extensively and repeatedly discussed. Some may even still be reversed. The point is just that inconsistencies are more and more difficult to avoid and there will be more as more features are added that weren't originally expected for CSS.
For each of these individually you may argue that it can occasionally be useful to have both. And also they have overlapping, but not identical functionalities, so it's not as simple as dropping one.
E.g., the first demos of math in HTML were already shown in 1995, but it's very recent that browsers have started supporting it. And you can only control a few aspects of the display with CSS, because math typography isn't integrated into CSS.
Problems in CSS can often be fixed by adding new features, but old features cannot be removed or changed, so the language is getting more and more complicated to learn, to implement and to define.
(The currently proposed @supports feature may help a bit by allowing certain things to change, but at the cost of even more complexity.)
If, as it currently looks, we will have to add quite a few new features still, then using another language (i.e., another MIME type) at some point becomes necessary.