Let's go a little more in-depth.
1.8 PvP is mainly built around the momentum of fights. The goal is to initiate combos, which involve repeatedly hitting the other person while they can't hit you - done correctly (dodging the opponent's every hit) you can stab someone to death without them hitting you once.
The only reason combos are possible, however, is because Minecraft servers aren't instantaneous and naturally favour the attacking player. Crucially, the range calculation on the server only happens when they receive the signal that your player has hit - so, if you hit someone from slightly further away than maximum and then move into range, it will count as a hit.
Conversely, the other person's only opportunity to hit the other player is when they are already being hit - and even if they attack, they are knocked out of range by the time their hit lands. If this isn't clear, I've made a rough guide below.
(-50ms means 50ms before blue's hit is registered and +50ms means 50ms afterwards - we're assuming both players have 50ms ping here)
This is why a player with lower ping has an advantage, as their hits won't register as late, but it's also why getting the first hit in a fight is so important. Fishing rods, as well as snowballs, arrows, eggs, etc., provide knockback from a distance, which allows a player to safely close the gap while the other player cannot hit them and start a combo.