In addition to the carrier restrictions, you also have device compatibility problems across handset manufacturers. I know a company that does J2ME development and they test on over 250 handsets.
That's why my startup chose to use the built in browser on the phone.