First and most important, get over the idea that salary is going to be fair. New people often make more than existing employees because they have to offer that level to get new employees because that is what the market is now charging. Once you are an employee, they know they have you and don't have the need to offer more because you were already willing to work for less.
Yes this is short-sighted and it results in lots of the best employees moving on. But as long as MBAs think that anyone not a senior manager is an interchangeable part, this will continue to happen. They aren't worried that you will leave because chances are that you won't and if you do and they have to pay the new person more than you were getting, well that is the same as giving you a pay raise (only there might be several months when they get work out of you while you are looking where they don't have to pay that, so it is cheaper in their minds to get a new employee if they are going to have to eventually pay that rate anyway).
So do the math, you get hired in 2007 for 60K (amount chosen totally at random and does not reflect what I make or what I think you make) and get a 3% raise each year for the next five. So now you get around 69K. In the meantime, it's gotten harder to fill postions and new employees won't accept new jobs unless they get substantial payraises. So if you were looking for a new job, you might want 75-80K. So will the people who are replacing you if you leave. So to fill a new postion they have to offer say 78K which is way more than you make and the person isn't as experienced as you are and certainly doesn't have your intimate knowledge of the current software. But managers at the hiring level don't see that as a value-added when they are concerned with salaries, they only see that you were making 69K and it is outrageous to give you a 12% raise when other employees have been getting 3% raises. What if everyone else found out and asked too? That would blow their budget out of the water. So while I can afford to give a higher number to the two new employees, I don't have the money to give that to the 20 current employees.
Now a few people have really good negotiating skills and can get pay raises and intial salaries higher than the company average. But in the long run, the initial salary you start at will dictate how much you make for as long as you are at that company (and often longer, making 69K, you might be happy to get 75K at the next job but someone who started out better than you who already makes 75K is going to want 82K even if he has the same skill set you have).
One reason why many companies will fire you if they find out you let out how much you make is because HR (who can see all the salaries) knows that they are paying unfairly. If you knew the current salaries, you might find out that the very top people you have make less than the worst performers (becausue their best skill is negotiation not programming). Women in virtually all career fields make less than men, people of color make less than Caucasians, people on work visas from other countries make less than the normal market salary as well. Put this is your brain and engrave it there in capital letters - SALARY IS NEVER FAIR.
So what do you to to make sure you get the best you can get:
First learn to negotiate. The best negotiators will walk away from a deal they think is less than what they want. If you want a salary increase and they don't give you one, are you willing to leave? If the manager knows you won't leave (and they can can make a good guess most of time if you are serious), there won't even be a negotiation. Practice negotiation skills before you ask for a salary increase (one failed increase negotiation will drastically reduce your chances of a successful one later at the same company so get prepared).
Next, moving to another job in another company is probably the best, least complicated way to get a good pay raise. (just don't move too frequently or it will become harder to find new positions after about the first 3-4 stays of a year or less)
If you want to stay where you are, you generally need a promotion or change to your job title to get a substantial raise. Added responsibilities are the key to higher salary or at least the perception of added responsibilites as shown by a new job title. Remember they are getting you for 69K now, why would they want to offer you more unless there is something in it for them (and retention of a valuable employee isn't enough most of the time). So figure out what you are doing that goes beyond your current job description and negotiate a new position. Sometimes it might be as simple as a move to a job with the label senior on it (sr. developer for instance has a higher pay band in HR than developer, completely new positons often haven't had the pay band set yet and thus have more wiggle room to have a higher salary)
Remember the lower you are on the management totem pole, the more easily replaceable you are viewed as being even if that is patently untrue. So get a higher position if you want more negotiating power.
Technical people like to believe that outstanding job performance will get the large pay raises and that they shouldn't even have to ask for them. But really many outstanding performers make substantially less than many simply acceptable ones. So don't count on outstanding performance alone to get you more money.
And remember a request for more salary because someone else is making more or new hires are making more or because you need the money is doomed to fail. So is a casual mention that you'd like a pay raise (that is not a negotiation to your boss, that is whining). To get more money in your current job, you have to show that your performance is worth it to the company, that you are someone key that they don't want to lose (really hard to prove, so don't depend on this one) and that you will take on additional responsibilities (or have taken them on and want to be rewarded for it) and that any pay raise will be offset by the additional money you bring in (one reason why sales people find it easier to get payraises, plus they know how to negotiate).