C# e Java são linguagens compiladas. Dessa forma, o desempenho pode ser mais rápido, mas com o custo do tempo de desenvolvimento, pois é necessário aguardar a compilação do programa ao fazer alterações. Java e C# são compilados no bytecode, Python é interpretado. Basicamente, o C# deve ser compilado para cada tipo de sistema no qual você deseja colocá-lo e geralmente será executado mais rapidamente. O Java geralmente pode ser compilado uma vez e executado em qualquer sistema com um Java Runtime Environment. O Python será executado em qualquer lugar em que o Python esteja instalado.
Python e Java são de código aberto há muito tempo. C# recentemente se tornou código aberto. Espere que as comunidades Python sejam maiores, com mais coisas gratuitas disponíveis e com mais suporte gratuito disponível. Isso pode mudar ao longo do tempo, mas Python e Java têm uma liderança nessa área que o C# pode não alcançar.
Se você está procurando emprego, o Java parece ter mais vagas. C# vem em segundo lugar em quantidade. Python é mais raro, pois seu nicho compete fortemente com outras linguagens como Node, PHP e Ruby.