a lot of it is about matching the problem and the style of the programmer. Pascal is the epitome of structure but can be slow to code and run. C is its crazy cousin, designed to be super fast at the cost of legibility and safety. Java is the younger sibling of C, carefully curated to avoid some of its excesses. Javascript is an interloper with no family resemblance but hey it works with this new thing called the Web. Rust solves all of the problems created by all of the above except that...
Then you have the outliers: CoBOL, the senile but solid grandfather, eccentric uncle Lisp, rakish brother in law Haskell, and feral Assembly.