Maybe part of the problem is the diversity of hardware. If software is written for x86 it has to be compatible with a huge array of chipsets, which is bound to result in compromise. On the Amiga, at least you know what hardware people will be using (to a degree - there is of course OCS/ECS/AGA).
--
moto