I'd be interested in seeing statistics on how well Arduinos that aren't compatible with shields sell. In my opinion, Arduino's biggest contribution to making it easier to get started in embedded development has been shields and the compatibility they bring.
Code can be shared easily. Users can debug others code over the internet. The same cannot be said with hardware, at least to the same degree. Schematics and the physical implementation of a circuit are not the same thing. Having the peripheral hardware on compatible PCBs fixes that problem.