This is why Windows on ARM has largely been doomed while Mac on ARM will immediately succeed: Apple told its partners that this is the future of the Mac and expected them to deliver if they intended to continue to be on Apple platforms.

Microsoft has constantly and aggressively failed to commit. Be it to Mobile or ARM or HoloLens or whatever. They simply haven't made it clear that supporting their new platforms is compulsory/expected, and consequently, most vendors have simply passed on supporting them.

No, this is not the reason. The reason is that Apple didn't half-ass anything, and they executed with competence. The Apple M1 is so good, it outperforms most everything else natively in single-thread, and every other previous x86-based MBP when using Rosetta, all the while offering superior battery life, and its not even that expensive because those are the entry-level models.

Microsoft never had anything remotely like this. Their hardware is ok, but they forgot one important detail, that Apple has taken to heart like nobody else:

"People who are really serious about software should make their own hardware. (Alan Kay)"

Why would anyone want to switch to ARM on Windows if it wasn't a lot better than x86? What if their WOW x86 emulation was really slow?

For Microsoft, "own hardware" means plugging cots parts together. The best they can achieve is a "premium look & feel", but they can't do anything game-changing. For Apple, it means owning and designing the most important chips themselves. Because they are controlling the whole hardware & software stack, they can do things nobody else can. This is the difference in understanding design as "how it looks" vs "how it works".

Apple has a custom MSR in their M1 implementation to toggle Total Store Ordering, which enables them to run either the native, more relaxed ARM or the more strict x86 memory model. They probably use other tricks as well, but there is a reason Rosetta is as fast as it is.

Do you happen to have a source on the TSO switch ? It sounds fascinating.