Olá João!
Nós queremos que a câmera acompanhe o jogador por isso colocamos para a câmera acompanhar examente a posição dele então posição da câmera = posição jogador.
transform.position = Jogador.transform.position;
Só que além disso queremos manter sempre essa distância entra a câmera e o jogador que escolhemos no inicio, então calculamos a distância entre dois pontos no espaço tridimensional é dada pela fórmula da distância euclidiana. No caso do Unity, a posição é representada por um vetor do tipo Vector3, que possui as coordenadas x, y e z.
Portanto, o cálculo transform.position - Jogador.transform.position
está subtraindo as coordenadas x, y e z da posição do jogador das coordenadas x, y e z da posição da câmera, resultando em um vetor que representa a distância entre os dois pontos.
Agora com a distância dos dois em mão podemos aplicar ela, como você isso essa distância nunca muda por isso podemos calcular a distância somente uma vez no Start, mas temos que sempre aplicá-la na distância Update, porque já o jogador se movimenta então a câmera se movimenta de acordo com:
posição câmera = posição do jogador (muda sempre) + distancia que deve se manter longe (nunca muda)
Então estamos constantemente atualizando a posição da câmera mas mantendo essa distância do inicio, resultado na linha:
transform.position = Jogador.transform.position + distCompensar;
Espero ter ajudado e qual dúvida pode falar. Bons estudos!