It's too expensive to optimize for every device. It all sounds great until there are multiple extension APIs to access the same thing, all of which are subtlety different and none of which are common across OEMs.
What's even worse is when the API is shared, but each OEM implements it differently. For instance, one OEM's phones regularly return pictures rotated 90 degrees clockwise.
Each problem by itself seems small, but combined they're formidable.
It sucks for users too. They may hear that app X is awesome from a friend, only to find that the same app sucks on their own phone.
Agreed. The "solution" I suggest just allows you to avoid the lowest common denominator - it doesn't make it cheap, or even viable for all devices. But for the most popular devices it should be economical. I guess it depends on how fragmented things get - but I don't think a phone monoculture is any kind of solution, it just shifts the problem.
And it doesn't solve the different resolution problem....
(Just playing devils advocate here -- your strategy is basically what apple has done w/ iPhone 1, 2, 3--and has been quite successful thus far. But had apple built a dozen phones in that time frame I don't think things would be playing out the same way).
The alternative of only having one device to rule them all is unrealistic. It's a kind of lowest common denominator approach to matching users to phones (as opposed to matching apps to phones).