There are good points (and bad points) on both sides of this argument.
Residency training is clearly necessary, with the way that medical school is currently structured. Although I didn't train in Engineering or Law, I expect the situation is somewhat similar -- people who graduate from those schools are not really 100% ready to work on their own -- instead, they need to work with some experienced practitioner to "learn the ropes". The question is, how much should they be paid as they work, but continue to learn at the same time. In Eng and Law, it's however much someone is willing to pay you. Some people (esp those from great schools) might get a great paying job right out of school. Others might get a crap paying job. And some might get no job at all. In medicine, basically everyone gets a job after school. The pay scale is rather flat (i.e. differences between programs is small), partially because medicine has highly standardized it's post graduate training compared with Law or Engineering. Ultimately physicians (in general) make better salaries than most in law/engineering.
The slate article linked is simply wrong. The law created exempts the Match. There is nothing in the law that allows programs to collude with each other, or set salaries. The idea that students could negotiate for their salaries without the match is simply untrue. If you're hired at my institution, in essentially any entry position, your salary is set by a committee. Secretaries can't negotiate for their salaries, and neither can new hospitalists. The starting salary is what it is, match or no match.
Programs don't collude with each other -- or at least I've never seen any evidence of such. I don't call other programs and see what they are offering. We do get annual data about the average salary in the field -- and this puts upward pressure on the salaries. We don't want to be below average, if we are we raise them until they are above average, which raises the average, which makes other programs raise their salaries, etc. Gas stations get data on the average price of gas, this is no different.
Which brings us to the meat of the issue, are residents paid a "fair" salary? Should they get more because they deserve more? This is complicated, because it depends on what you mean by "fair":
One argument is that hospitals "make money" on residents because of Medicare payments and the ability to not hire others to do the work residents are doing. This argument has several problems:
A. As has already been mentioned in this thread, it's not clear that hospitals "make money" on all residents. It's going to depend upon how the residents are utilized. In my program, for example, if on our hospital medicine service we removed all of the residents, we wouldn't change any staffing levels at all. We have both teaching and non-teaching teams, and this would just shift us to all non-teaching. We have hospitalists in all night already. On the other hand, my Heme/Onc and Cardiology services would need some additional resources to replace resident work -- so it clearly depends upon the details.
B. My residents have quite a few outpatient, research, and elective months. During this time, they are of no "value" to me or the hospital at all.
C. Even if the hospital does make money on residents, it's not clear that's "bad". The hospital needs to make money in some areas, to help pay for other services that lose money. All businesses work this way. I totally understand that, if you can clearly see your employer making a bunch of money off of your work, you'd like to claim a piece of that pie. It's human nature.
As I've said before (on this thread, I think), a major driver of low resident salaries is the standardized postgraduate training system which forces you to take a residency job and doesn't let you leave easily without torpedoing your career. That said, it's also what generates a highly competent and skilled physician labor force. Whether residents really "add value" financially to a hospital is highly controversial, and the Rand study linked above is probably the best assessment, but the TL;DR version is "it's complicated" which isn't satisfying.
The last line of the post above is interesting to think about:
Bottom line is this - although I'm not sure what we can do about it, we need to wake up and start putting an appropriate value on what we do.
The problem with the marketplace is that you don't put a value on the work you do, the market does. I think that teachers have a very valuable role to play, yet they get paid crap. I think investment bankers don't really add much to society, but they get paid quite a bit. That's the price we pay for living in a capitalistic society. Paying people "for what they're worth" is a different mentality.
I do agree with ObnoxiousDad above -- we've created a difficult bottleneck for creating physicians that raises salaries and costs the system. He does live up to his screen name, but also does tend to speak the truth. Forsooth, I am one of the " jokers who run that show might be aware that they are running a guild system right out of the middle ages"