Тут пожалуй, важную роль в популяризации играет не возможности языка, а политика компаний, которые разрабатывают языки.
Так исторически сложилось, что Java появилась раньше, чем C# и соответственно, к моменту появления C# уже было написано огромное количество проектов-миллионников. Также компания Майкрософт довольно долго (чуть ли не 8-9 лет) ограничивала применение .Net на других платформах из-за чего это тоже сыграло свою роль. Соответственно, определенная часть рынка в энтерпрайз была утеряна для C#. Но зато C# смогла утвердить себя в сфере gamedev (фреймворк Unity), а также в сфере desktop разработки. Но не стоит сбрасывать со счетов C# в энтерпрайз и веб сферах. На нем пишут довольно серьезные проекты.
Думаю, что остальное лишь предпочтения разработчиков.