The work place has changed dramatically since our parents (mostly our fathers) started in the mail room, worked their way into middle management positions or vice president positions, and retired with a pension, a gold watch, and health benefits. Some employers do still invest in new employees by offering benefits, training, leave time, and opportunities to advance. However, some employers expect 10-12 hour days, no leave in the first year, minimal benefit offerings, and new hires to be fully experienced and capable in every aspect of their businesses. The hiring spectrum includes everything in between.
Then two years ago, employers experienced the worst downturn in business since the 1970s. They laid off workers, they closed divisions, flattened management (eliminating much of the middle management), cut benefits, and discovered free software tutorials on the internet for training. The result is that many middle-aged professionals could not find positions at their level; they were under-qualified for the next level up; they were over-qualified for the support positions. Highly capable and unemployed, scrounging for work so they can keep their homes, their health, keep the lights on.
Since when did companies not want to get more for less money? Hiring over-qualified candidates is the smart decision. Companies get employees who are grateful to be working, grateful to be useful, mature and independent but dedicated and reliable and with skills exceeding the minimum required for the position. It is true that that employee may someday leave for a higher level position if one doesn't exist within the company -- but hasn't that been the case for a long time now. Hire the overqualified candidate; they will keep their house, pay taxes, buy a new car, send their child to college, and probably be so grateful they will give more than they get.