Choosing a programming language tends to involve an interesting intersection of what you need (i.e., requirements), what you know (i.e., past experience), and what you believe (i.e., bias and flexibility). … Choice of programming language should depend on the project(s) at hand, the team(s) doing the work, and the business interests of those who will own the intellectual property. There is no "best" programming language; the suitability of a language depends on the problem domain to which is it being applied and the people doing the appying…Too often, however, developers go with what’s cool or what they know.
I would say that choosing what you know is the number one reason. And it’s often the single person in an organization with the most clout that decides it for the group. I think the scenario Steve describes where the choice of language is selected without bias, is rare.