Sometimes the nice person can take the heat off the jerk, or can better interact with other teams or employees so that the jerk can do what they are good at, and not be bothered by others. Part of what I did as a PM was to bring my talented IC teammates coffee, and make sure the rest of the company didn't bother them during crunch time. All requests came to me. The ICs were generally nice too, but unable to communicate politely when push came to shove. That's where I came in. Am I a good engineer? Hell no, I'll never be one, and I'm fine with that. I can, however, get others to like me, and respect what I have to say - which brings its own benefits when it comes to team-to-team interaction dynamics. Nobody likes the asshole, but I'm happy to cover for the asshole because that's part of what needs to get done to make sure everyone is on the same page.
Sometimes, nice people just need to be in better roles. Engineering is probably not one of them. Nice people might suck at certain important things, but everyone plays different roles in large and small teams, and sometimes contributes in a less direct or noticeable way, but still important. Put them in the roles they can thrive in, damnit!
All that said, there's a difference between a brilliant jerk and someone who lacks social tact and is a genuinely unpleasant, disrespectful person to be around. I have no problems with the straight-shooting brilliant jerk. The my-way-or-the-highway-and-oh-by-the-way-go-fuck-yourself person who might be good but is completely lacking in social norms and can't get along with anyone no matter how good, screw them.