Tak namátkou:
1) Nutnost udržovat zpětnou kompatibilitu, tzn. nemožnost využívat všechny aktuální API volání z nejnovější verze.
2) Interní paměť: u dost výrobců malá, ne všechny programy jsou na SD kartu, u nějakých modelů zas naopak SD karty nejsou.
3) Jednou má aplikace navigaci takovou, jindy zas makovou, někdy aplikace použije tlačítko Zpět jako přechod na předchozí krok v App, jindy si řekne že přejde na předchozí "systémový" krok.
4) HW fragmentace: jsou tu telefony od 600 MHz až po 1,4 GHz dvoujádro, které Android ještě navíc aktuálně nepodporuje. Pokud jsem programátor, tak musím řešit, jestli mám udělat hru s pěknou grafikou a využít tak HW nejnašlapanějších modelů a nebo jí musím ošidit, aby se mi to vyplatilo, protože spousta lidí má horší modely (a pak jsme v kruhu - výkonné telefony jsou dobré na náročné aplikace, jenže nikdo náročné aplikace nebude dělat, protože neví, mezi kolika lidmi výkonné telefony jsou, aby se mu to vůbec vyplatilo).