The huge diversity of ARMs seems to be their main enemy.
That's the part many people don't understand. As most people write code for those chips with C/C++, the arm core is actually transparent to them. The tasks of working with the peripherals remain the same.
As such, I firmly believe this whole transition to arm is more marketing driven.