You can think of pronouns as sort of like `$?` in bash or `_` in Python's interactive shell. They give you a short way to refer to a previously mentioned noun. When you have more than one of these "special variables", you can use them more often as long as they conveniently get uniformly distributed across the previously mentioned nouns.
So, in English, you can say:
"Blaine Wolfeschlegelsteinhausenbergerdorff Sr. gave Rhoshandiatellyneshiaunneveshenk Koyaanisquatsiuth Williams a sweater for Christmas. She liked his gift."
The second sentence can use two pronouns because they happen to be unambiguous. With only a single pronoun, that sentence ends up like:
"Rhoshandiatellyneshiaunneveshenk liked Wolfeschlegelsteinhausenbergerdorff's gift."
(This is obviously an extreme example for comedic effect.)
This is also why Romance languages have noun gender for inanimate objects where actual biological gender isn't meaningful. It's not about genitals, it's about scattering a few pronouns uniformly across the noun space.
Of course, one might rightly argue that gender is not a good mechanism to use for your pronoun distribution. We could do something like shells do where we assign pronouns based on recency of the mentioned noun. Or some other system.
But my point is that gendered pronouns aren't completely bananas. They serve a pragmatic function.