I think that the main difference is, that the x86 architecture maintains binary compatibility and ARM doesn't. Eq. a binary for an Acorn computer won't run on a cortex A8, but a Lotus Notes binary for a 286 should theoretically run on modern Core i7 just fine. As a result, ARM can discard outdated parts of the instructions set when creating a new ARM based architecture (ARMv1,ARMv2,ARMv3,...) and x86 can't.