I'm trying to understand what netcat is and isn't.
Por um lado, não é um sniffer.
Se há algo na sua máquina que já está escutando na porta 80, como um servidor Web, nada mais pode escutar na porta 80 (pelo menos não com o mesmo endereço IP local que o programa já escutando), porque os pacotes a porta 80 recebidos pela sua máquina só podem ser enviados para um programa.
Os sniffers de pacotes usam mecanismos diferentes dos aplicativos de rede "normais", como browsers e netcat, use; o mecanismo que eles usam depende do sistema operacional em que você está rodando (o libpcap / WinPcap existe para ocultar esse detalhe do aplicativo), e esses mecanismos permitem que o sniffer obtenha cópias de todos os pacotes recebidos como pacotes IP brutos ou de camada de enlace.
Can netcat not listen to ports in use, the way a browser does? Or is this really a wrong understanding of how browsers work?
Sim, é um entendimento errado de como os navegadores funcionam. Um navegador em execução na sua máquina não está escutando na porta 80 em sua máquina, está enviando tráfego para a porta 80 na máquina do servidor da Web.