Eu com certeza já tive esses momentos em que um tiro parece perfeito na minha tela, mas não acerta, e sim, é quase sempre uma questão de latência. A maioria dos jogos usa o que chamam de hitscan ou detecção baseada em projéteis - hitscan verifica instantaneamente se um raio da sua arma intersecta com a hitbox do inimigo (geralmente uma forma simplificada como um cilindro ou cápsula), enquanto projéteis são objetos reais que viajam e checam colisões a cada frame. O problema é que seu cliente mostra uma posição do inimigo um pouco diferente da que o servidor vê, já que seu input leva tempo para chegar ao servidor e o estado do servidor leva tempo para voltar a você, então o que parecia um headshot na sua tela pode ter sido um erro no servidor autoritativo. Alguns jogos tentam compensar com predição do lado do cliente ou aim assist, mas sempre há esse atraso inerente - é por isso que shooters competitivos muitas vezes se sentem diferentes em servidores de ping baixo versus ping alto.