In the US, the rule of who shows first at showdown is governed by two things:
1) If there was a bet, last aggressor shows first.
2) If there was no bet, players show first in turn.
I'd say nearly 90-99% of all rooms in the US use the above.
In Europe the opposite is true. Nearly all rooms over there use the rule that last aggressor shows first no matter what. Also if there is no betting and all streets are checked in FLOP games, I believe the person in best position shows first(?)
Not sure why the difference in US rooms. However, one thing comes to mind - In limit poker, often times betting is capped. If the betting is capped, is it capped because they are the aggressor or because other players in the game are raising continuously and they are tired of wasting time and calling 1 or 2 bets more each betting round and decide to put in the final raise before it gets back to the aggressive players. Maybe the player who wishes to raise more, can't because it's capped?
In NLH, if you have several all-ins, who's the aggressor? Is it the player with the largest bet? Is it the player who went all-in first? Last?
One thing is for sure, the order of action never changes and is easy to follow. It's a constant. Thus showing first in turn makes some sense.