Cheating is something I don't tolerate either. Get caught once, automatic crit glitch on that test and your one and only warning. Get caught twice...well you effectively just crit glitched your etiquette roll for my group, get out. If people want to cheat, they should stay home and plug a Game Genie into their Nintendo.
[Edit: Come to think of it, this thread should probably just be locked. It's obvious that this is a topic that is A) highly divisive and B) strictly opinion. No good is going to come from the arguments here.]
I've seen a lot of good advice come up so far for how to handle things. It's a topic that doesn't come up very often and I've never really seen discussed, by having it here can only help people that need advice on dealing with player issues in their game.
I guess to end with I'll throw out a few things I've learned from these experiences:
A.) If the rest of your group strongly wants you to give someone the boot, don't hesitate. Either kill the game, or boot the player. Unhappy players do not have fun, and usually do not care if you feel sorry/guilty for/about the player.
B.) If the player has a close friend/roommate/significant other in the group, talk to them first about the issue, but don't force them to toss a vote in. I recommend not even letting them vote, because it will come up eventually, and it will cause issues. The game is not worth RL issues. Sometimes you might lose both players due to the booting. In my experience, only the one that was actually booted usually holds any resentment toward the GM/Group.
C.) Expect to hear 99 reasons why it's your fault. Booted players never, in my experience, are willing to own up to any issues they caused, or actions they've performed. They do, however, always find fault in dozens of things that you've been doing. Usually these are things that have never been brought up by anyone in the game and the rest of the group doesn't see.
D.) Be respectful. There is no reason to be a dick to someone when giving them the boot. You don't have to be nice, but at least be respectful. It's a game, remember that. Being a dick is only going to lead to anger and anger leads to the dark side...and often violence.
E.) Do it during downtime. Otherwise it will cut into your gametime. The only time I recommend not following this is if the Player has done something that is grounds for immediate ejection from the premises. If the player has been spectacularly upsetting to other players, they might want to grab popcorn and watch (actually had that request once), but there is really reason to make it a public spectacle unless you're trying to be a dick about it (for that see point D).
F.) Have patience. Sometimes the issue is not something that the player is aware of. Sometimes he's not use to the style at which you play. Don't knee jerk things unless something is horribly amiss (usually RL issues at the game table). Give the player a few sessions to get a better feel. If the player is doing dumb things, force them to by the Common Sense quality.
G.) Don't have too much patience. Waiting too long to permanently address the issue will lead to much heavier hurt feelings in the long run. A few sessions is one things. If you've waited a year, the player will get comfortable at his level of irritation and be much more upset for the objection.
H.) Don't feel guilty/sorry for the player. I guess maybe some groups will be younger, but for the most part we're adults, we make our own choices. You shouldn't have to feel guilty about making your game more fun for the players you enjoy. At the same time, don't feel sorry for the player. That path leads to point G.
I.) Stand firm in your decision. Assuming you talked to the group and made the decision together, never let the player talk you out of it. If you do, not only will he end up causing the same issues (after about a month or so of
good behavior), but he won't respect any rulings you make and it will bring up more issues at the table.
J.) Expect Fallout. Usually, even players that took the booting in good grace, will end up tossing fallout your way. Sometimes it take a week or so, sometimes just an hour. There is almost always going to be a few days (if not much much more) where the player is as disrespectful to you as possible. Calling/Texting/or even showing up at your door yelling about this and that and how it's you that's the jerk. This ties into point C. but the main point of it is to expect it to crop up well after the initial discussion.
K.) Don't let the player know it was a group decision. If the player is going to be an ass and take it personally, there is no reason for him to know that the majority of the players wanted him gone. If he thinks it was just your decision, then he probably has only lost one friend due to his ego (those types almost always assert that they did nothing wrong), instead of everyone in the group. This goes doubly so in a case like point B. where the a voted boot may actually cause issues at home if the player knows it was a vote.
As for things to expect to hear when you boot a player:
-You were always out to get them.
-You always favored player x (player x being a different player obviously. If you're married or dating a player, it will always be that player).
-They were going to quit anyway because your game sucks.
-Their storyline never came up, ever.
-You didn't like them anyway.
-You're being racist/sexist/etc. and don't like a Y(whatever you're being) in your game.
-Everyone else is player a cardboard character, you can't handle running for a real roleplayer (usually from the worst roleplayers oddly).
-You cheat to make the team fail.
-Your face looks like a baboons turd filled crack and your smell like month old rotten skunk (exact details may vary, but similar insults).
-You're all a bunch of dumbasses.
Don't let it get to you, it's normal behavior for someone that's feeling singled out. People generally don't like being told they're not welcome back, no matter how nicely it's done.