While I agree, I think the big drawback with having different hardware comes from a programming/user-interface standpoint: how do you develop applications that will run on ALL of these phones when the screen real-estate can be so varied?
Anyone that has done a lot of HTML design knows about the headaches this can cause.
ie. You want to make your site look pretty for someone who runs their OS in 800x600 as well as someone who runs at 1280x1024. While you COULD just develop it for the more popular [higher] resolution, you could be ostracizing a large user-base who opted for the more compact screen. Then you also possibly need to add in the complexity to design your UI for when they turn their phone 90 degrees and want to run your app in portrait mode too...