That one, oh-so-minor difference is a thorn in many a uC experimenter's side, because it means that standard 0.1" spacing of pins to make custom shields is impossible without special thru-pin headers, bending pins, third-party thru-hold blank shields, or just leaving one or the other header off entirely (which isn't a real solution if you need one or more pins on both headers).
We could have seen a ton of custom 0.1" proto and strip-board shield designs, but instead we are thwarted by this one simple mistake caused by being in a hurry due to a deadline.
Now - we are stuck with it - likely forever, because each new iteration of microcontroller hardware almost guarantees that there will be support for "Arduino Shields" because so many are out there. Yes, I know there are experimenters "blank" shields - but they are rarely as inexpensive as a standard 0.1" PTH PCB - and almost all of them are the size of a single shield, none larger.
It would have been nice, for instance, to be able to put in extra-long pin headers on an Arduino, then plug that on top of another larger PCB with standard hole spacing (whether soldered in-place or via headers too). Instead, the only option is to "build" the Arduino onto such a custom board (ie, program an ATMega328P and plop it on the board with resonator/crystal/power/etc).
/sigh/ - oh what could have been...!