The Wall Street Journal published a list of starting salaries for college graduates by major (subscription required).
At the top of the list is engineering ($49,707), followed by computer programming ($46,775), mathematics ($46,405) and economics ($43,419).
What's critical here is that we're talking first job, not lifetime earnings. Now it's probably true that over a lifetime, engineers make more than philosophy majors (the major at the bottom of the list) on average. But there are plenty of philosophy majors who have done very well for themselves--just not in theie first jobs.
My experience in economics is that the highest paid starting jobs went to those with the best quantitative skills. But the best second or third jobs or positions went to those with the best communication skills and understanding of "big picture" issues. Some of those folks with majors farther down the list may look stronger ten years out.
However, one factor that could be at work is how challenging the course work is. There are harder courses and easier courses. No one with a chemical engineering degree is ever accused of taking only easy courses. The job market may be rewarding not specific skills, but proof that the student went into the very hardest courses and came out alive. That's a valuable trait even if the subject matter is not terribly important.