I think ping differences lead to very interesting effects. One example is, imagine you have a "favor the shooter" system, and you have a 1v1 where one player has a sniper rifle that takes a while to charge to full power when they put it up to their eye to shoot, and you have the ability to become instantly invulnerable when you press the shift key. If the packet that says "she is putting the rifle up to her eye now" arrives 100ms late, then you have a false sense of security, because your mental model of her state of charge is 100ms behind reality. It means you use your invulnerability too late when you think it's time for her to fire a fully-charged shot, and you die instead of live. (This happens in Overwatch; if you play Mei you'll know what it's like to die inside your ice block.)
Another interesting scenario is projectile-based weapons. For reasonable Internet latencies and reasonable in-game distances, the projectile can travel faster than the packet announcing that it has been fired. The game state that gets sent from the shooter over the network is "I fired my weapon, I killed them". At the time you die, your client has none of that information, and since the shooter is favored, you just die out of nowhere. (This is less annoying, because I don't think you could move out of the way fast enough for it to matter. "My opponent's WiFi is bad, so I die half a second later for no reason" still feels pretty bad though. In the intervening milliseconds you had grand plans to win the game!)
All of this, to me, is a great lesson in eventual consistency in distributed systems. People break their keyboards over this stuff. Thinking it will be fine for your more-critical-than-a-casual-video-game system means this stuff will be happening to you multiple times a day, and you can't break your keyboard because you can only blame yourself for brining that system into the world. Tread carefully! Tread very carefully. Shit gets weird when your system has a split brain.