We are all overworked and underpaid. Fact of life - get used to it!
As I posted in an un-employment thread. The *ONLY* person responsible for your predicament is you. So you missed out on some promotion - you can take your attitude that it's favoritism or on the other hand, maybe that guy is able to do something that you can't.
Even if he is late every day, he might have some skill that outranks his tardiness. Yep he is 15 min late each day but manages to put out in his 7.75 hours (or whatever) what a normal guy takes 15 hours to do. That could be one example.
I'd take the attiude - I missed out this time, lets see what could have caused it. I wouldn't bother asking (you probably won't get a complete answer anyway), just observe - what do my co-workers/managers/everybody do that is better than me? When you see something just try and work on one thing at a time.
An example might be how the guy talks to people. Some people are instantly engaging and seem to get along with everybody whilst others struggle to get along with their own cat. Just observe how this person acts when they are near - It could be as simple as a broad smile and a confident "hi - how are you?" when they meet somebody or it could be deeper. Just work on 1 thing at a time and you will be suprised at how quickly things change. I wound up managing a factory of 35 guys when I was 22 yo by taking this attitude.
Also remember - some jobs are just not for you. Imagine you are an apple in a bowl of fruit. You might be the best looking/tasting apple ever grown but if somebody wants an orange, you are just not going to get the gig. No big deal - somebody who wants an apple will come along eventually. In the mean time, try and learn from the experience and keep a positive attitude.
Oh - don't stress about how much you are paid relative to your co-workers. I started at 19 paid a ton less than everybody else in the place. I knew it at the time but didn't pay it much attention. Now I'm paid around 3x what everybody else here earns. I don't worry what the next guy gets - that means I'd have to take too much of a pay cut to make it equal
Reaper