1. I was never comfortable discussing it with my manager.
2. Great advice on not bad mouthing others. Will keep it in mind. Actually I dont mind not getting a hike/promo. But underserving ones getting is what I am upset about. My manager is very good and I heard he has been trying his best. But I got to know its the layer above him that plays the spoilsport. Apparently due to the perception. I dont market myself and have always been humble.
3. Till now I never thought about quitting. Now I am contemplating. Somehow I get a feeling that its the same no matter where you go. My other plan is to stay here, but dont work hard. Just do what is asked. But its difficult to implement since I always want to give my best.
Sorry but that is not your call to make. Don't mix you not getting a raise with someone else getting an undeserved raise. Focus on your issue. You want a raise. That's the issue. Ask for it. Make your case. Be vocal. Be Prompt. Don't badmouth team members. Good luck.
If someone is not competent and is hurting the team effort, it is not badmouthing that person to express your concern.
2. Don't focus too much on other people when you're having these conversations. Since you're performing well and have never had a compensation review, it's reasonable to just ask for a raise even without the knowledge of other people's salaries. It might be reasonable to say that you're looking for a salary that's in line with what the rest of the team is making (but I certainly wouldn't start with this). Whatever you do, don't discuss other people's deservingness and don't badmouth anyone.
3. Since you're comfortable financially, you always have the option to quit and find another job. For the same reason you might be less likely to quit because of salary. So if you don't get what you want, it really comes down to your personal priorities about what aspects of your job matter to you and no one else can really give you good advice on that.