Básicamente, el netcode es el conjunto de protocolos de comunicación que existe entre el cliente (el juego en sí que tenemos instalado) y el cliente del servidor (el programa al que nos conectamos, que en esencia es el mismo cliente, pero funciona como host para las partidas). Estos protocolos se encargan de coordinar la información transmitida entre los dos clientes, en ambos sentidos, permitiendo así comunicarse entre ellos y transmitir a los dos clientes los datos para que luego s evean reflejados por los usuarios; dicho de otro modo, es lo que permite "jugar". Un ejemplo de comunicación de netcode es la transmisión de información relevante a los disparos y el daño.
Por ejemplo: Imaginémonos que estás disparando a otro jugador. Cuando tú disparas un arma (sea la que sea) tu cliente de juego transmite unos datos al servidor vía netcode. Entre esos datos están las balas que disparas con sus modificadores correspondientes (distancia, tipo de arma, balas disparadas, dispersion de las mismas, puntos de impacto en el avatar de juego al que estas disparando etc.). El netcode se encarga de procesar esos datos y transmitirlos al server para que este los rebote al cliente de los otros jugadores. Volviendo al otro jugador al que estas disparando, el netcode es el que se encarga de transmitirle al cliente de ese otro jugador que le estás disparando.
Los problemas que hay con el netcode son ,básicamente, una desincronización de datos. Si miras los videos posteados por varios usuarios verás que a veces disparan, y no impacta ni una sola bala en el objetivo aunque estemos disparándole a bocajarro. O el caso inverso, te disparan, te cubres (físicamente parece que no te pueden ver o dar), pero aún así te matan aún estando tras un objeto del servidor (una pared, un container o lo que sea) que debería ofrecer cobertura. Esto se debe a que el netcode no sincroniza correctamente la información que recibe el server con tu cliente de juego o con el de otros jugadores, y tampoco la transmite correctamente en el momento que debería hacerlo. Se trata de un problema de latencia, pero no es latencia en sí. Tu ping puede ser bajo, de menos de 40, pero el netcode encargado de coordinar los datos que te llegan y los que tu envias no está bien implementado y de ahí esos retrasos en la información. Aunque tuvieras un ping de 1 (es decir, que físicamente tu ordenador estuviera en el mismísimo server) tendrías esos problemas debido a que el netcode no está transmitiendo como es debido la información del juego al servidor y a los otros clientes conectados a el.
Y respecto a si ocurre en consolas, la estructura es la misma, pero desconozco los detalles que hay detrás del netcode para la versión de consolas. No obstante, he visto videos de la sversiones de consolas que pueden identificar un mal netcode cuando el sonido se entrecorta y los FPS bajan. En el PC es mas malo de detectar ya que directamente te matan, al menos esa es mi experiencia.