The way the naming conventions are now, I doubt that we'll ever be
able to comply with PSR-0 (not the end of the world); but that's a
conversation for another day.
And I agree with Rouven. While this conversation is interesting, it's
all application level stuff and there's not really anything the
platform needs to do. Anyone can override classes with an auto-loader
strategy (it does not get much simpler than that). One is provided by
the platform but you don't have it use it if you have something else
in mind. And even if you do use JLoader, you can override what the
platform set up for you (I do when required).
There are a number of valid use cases for overrides:
1) Testing slight changes to core classes that you need for a
production system and hope to contribute back.
An example of this would be to override JViewHtml to accept a
different extension for layouts.
2) Applying essentially "hacks" that you need for a bespoke system
where you just need to brute force a class into behaving the way you
want.
An example of this would be to add custom logging to the MySQLi driver
(that would be considered over-the-top ordinarily) to help diagnose
particular quirks in your application; or to provide extra diagnostics
for something like Zend Server.
Whether overrides are "good" or "bad" is neither here nor there (and
it also depends on if you are the owner of the application or not).
Auto-loading, as well as a number of other standard PHP features,
allows you to do it in the platform should it suit your needs to do
so. The responsibility of making it work rests with the application.
When that application allows you to interact with other applications
is where the fun begins (for example, the Joomla CMS having extensions
that could completely override everything), but that's out of our
hands as platform developers. As Sam indicates, you are to blame if
you upset compatibility within the community of users using the
application.
In terms of "view" overrides, that, again, is really a discussion for
the application (presumably the CMS). The new JViewHtml adds a
priority queue that would easily add "common" areas, but the
application has to apply that logic.