Il y a des centaines de langages différents, ils répondent tous à un besoin ou une idée de l'époque de leur création. Tous les langages que tu as cité sont très âgés. Si l'on peut tout faire dans presque tous les langages, certains sont plus adaptés que d'autres pour traiter certains problèmes. Néanmoins, d'une façon générale, c'est le développeur, la conception et l'algorithmie qui marqueront les différences majeures entre deux programmes si la problématique à traiter est "neutre".
Pour répondre à ta question : les gros programmes de gestion, car Java était un langage qui se prêtait bien à la gestion de projets pantagruéliques. Ce qui n'empêche pas de trouver des jeux en Java au même titre qu'on trouve des SI en C++, ce n'est juste pas la vocation première du langage.