WINMAIN e main () em C ++ (estendido)

Certo, eu olhei para este post:Diferença entre WinMain, main e DllMain em C ++

Agora sei queWINMAIN é usado para aplicativos de janela emain() para consoles. Mas ler o post realmente não me diz por que exatamente qual é a diferença.

Quero dizer, qual é o sentido de separar diferentes funções de rede para iniciar um programa? Isso é devido a problemas de desempenho? Ou o que é isso?