Hello people, let me see if I can throw something extra on to this fire.
Of course good guys finish last. Know why? Society doesn't support an actual "Nice guy". For example, a nice guy will be honest to his or her mate. Now, lets look at the age old question
"Does XXXXXX make me look fat?"
Some people would react like real bastards if they were told they were fat. Some would take it well, and others wouldn't care. However, its a question that can often lead to many losing sides. What if they are already actually fat? What if they won't believe you and think "You are just saying that"
Next, we need to look at just simply meeting up with someone. Know what most relationships are built out of? Interests, and not in similar things. People are much more interested in things that make people extraordinary. In other words, lying. Telling someone outlandish claims that are not complete and terrible lies, but are simple and small enough to be believed and dismissed at the same time. What does a nice guy do? Again, they are honest about themselves. They don't usually do something like "I watch all sorts of movies, play all sports, have some experience in acting, have a high paying job and nice car, as well as defense training". If you do, props to you.
But yeah, ultimately good guys are last, because they just can't compete with someone who doesn't feel bad about not being themselves at all.