É mais fácil se comunicar via soquetes TCP quando você trabalha dentro de um limite da intranet, pois você provavelmente tem controle sobre as máquinas dessa rede e pode abrir portas adequadas para fazer as conexões TCP.
Pela internet, você está se comunicando com o servidor de outra pessoa do outro lado. Eles são extremamente improvável que haja um soquete antigo aberto para conexões. Geralmente eles terão apenas alguns padrão, como a porta 80 para HTTP ou 443 para HTTPS. Portanto, para se comunicar com o servidor, você é obrigado a se conectar usando uma dessas portas.
Dado que essas são portas padrão para servidores Web que geralmente falam HTTP, você é obrigado a estar em conformidade com o protocolo HTTP, caso contrário, o servidor não falará com você. O objetivo dos soquetes da web é permitir que você inicie uma conexão via HTTP, mas negocie para usar o protocolo de soquetes da web (supondo que o servidor seja capaz de fazê-lo) para permitir um fluxo de comunicação mais semelhante ao "soquete TCP".