the ARM problem is that there is no one company that produces ARM chips. ARM is a core thta is licensed to many different companies, and each company adds additional capabilities beyond the core to the chips that they produce.
as a result the number of different chips, each with slightly different capabilities, is staggering.
up until now, each one of these chips has been treated as a different subarchitecture, each with it's own defconfig (which not only has the definitions needed to support that chip/board, but also any other defaults that the maintainer happened to select)
think of the mess that we would have if every chip released by Intel or AMD required a different architecture and you have a glimpse into the mess that is ARM
there is work ongoing to change this and instead of treating every chip as a different architecture, having a different definition file that details what peripherals and options are on each ARM chip/board and how they are hooked up instead of having that information be implicit in the architecture definition.
I think that once this is done there will be even more proliferation of ARM designs as they will be easier to support, but it will be a win-win situation as manufacturers will be able to more easily get the exact chip to fit their application and it will still be easier to support.