I worked for a large company for quite a while as well. I did see this type of thing happen all the time. However I was in a position to recommend and influence that salaries offered to incoming employees. As has been suggested previously, simply because two people are at the same level in the hierarchy within the company doesn’t necessarily mean they are at the same skill level. For instance in the OP you neglected to mention how much industry experience and education the person coming in from the outside has.
Say for instance the internal person has 10 years experience within the company but only 2 years as a manager. Now let’s say the external person has 10 years as a manager in the industry, an MBA and 4 years experience running his own company. In this case it’s obvious that the external person would be paid more than the internal employee, regardless of the fact that the employee has been with the company for 10 years. The positions I was hiring for were technical in nature (programmers and database administrators) so time in the industry, capability, education and certifications as well as general knowledge all played into a person’s salary.
Another factor that played into the decision making process was the specific job opening. Say for instance that you are pretty sure you will have an upper level manager position opening soon, but you know that none of your internal employees have the background or the education to fill this position. Then you get a supervisor position open, and in the process of interviewing candidates you find a person that would do a wonderful job at filling the higher level position. It’s not uncommon at that point to bring them into that position at the higher end of the salary range both because they are qualified, and you want to hang on to them until the position does open.
As far as temps, I’ve heard a lot of people complain about them. In my experience it usually went something like this. Temp X comes in from company Y and we are paying $50 an hour for them. While internal employees are are only making $20 to $35 per hour. Usually the internal employee hears about this and then complains about it and wants a raise to $50 an hour. This of course won’t happen for several reasons. Employee’s salaries only constitute a portion of what the total cost to the employer is. For instance while you pay taxes out of your income, there are certain taxes such as FICA that your employer is required to match dollar for dollar. Usually the total cost of all of these taxes run around 10% of what the employees gross take home pay is. Internal employees often dramatically underestimate what the actual cost of employee benefits are. This really depends on the company, but some companies pay as high as 20% or more into health benefits. Many of the total cost estimates that I’ve read put the salary an employee is paid as low as 65% of the total cost of the employee to the company. There are many, many other things that go into this (training, bonuses, cell phones, offices etc).
Typically none of these benefits are made available to temps. Rather that $50 is paid to a temporary agency which handles all of these issues for the temp. Of course the temp agency also takes a cut of this wage, which in turn drives the rates higher. The other thing is with a temp, companies pay for the luxury of saying: “We won’t need your services tomorrow, have a nice life.”. The companies know this and the temps know this, so that is also reflected in the pricing of temps.
Unfortunately this usually doesn’t get explained very well if at all to employees within companies. I personally advocate a more open employee pay structure, rather than the rigid “If you tell anyone your salary we will fire you and take your first born son” mentality that companies often exhibit. Usually this type of “confidential salary” policy is implemented because the company doesn’t have an established method of objectively evaluating an employees performance. Without an objective evaluation, employees are paid based on how well the manager “thinks” they do. Which can obviously lead to all kinds of problems with favortism and perception.
I hope this in part answers your question why it isn’t that uncommon for a company to pay “outsiders” more than an “insider”. To me all pay should be based on merit and overall value to the company, rather than some structured pay scale that artificially elevates time with the company over actual productive work output.