It kind of is unfair. Why should someone get preferential treatment just because you happen to know them? Also there's a difference between recommending someone for a job and "Hey this is my buddy, don't look at her resume and we can also skip most of the interview process". There's different degrees of nepotism, they are all usually a bit 'unfair'. But then, life is unfair and so you just deal with it and do the best with whatever resources you have.
Because I know what sort of work they will produce, their attitude towards work, and their general behavior/personality and whether that will fit into the team without causing disruption or loss of productivity. That's why.
Business isn't about making everyone feel loved and accepted, business is about making money as efficiently as possible by providing a product or service that your customer want/need. Anything which furthers those goals is absolutely fair, especially things which are discriminatory only on the basis of knowledge.
They try to find the best candidate through the people they already know.
It's all about risk/reward. A random candidate will most likely be a higher risk than a know candidate.
Would you rather be roomates with a random person on craigslist or a friend of a friend?
That happens everywhere though. It's not endemic to "frat bros"—a lot of people find jobs through connections rather than only grades. Most of the time it's through a family friend or family member, or in CS through open source or meet ups. It sucks when you don't have any connections but it's not unfair; it's just how it is. Should I not tell an undergrad friend that my company is hiring interns and recommend her?
Of course an international student will have less connections which is why they sometimes struggle getting internships.
But yeah, the cheating stuff is messed up!