Why does this happen? Simple supply and demand for labor, just like every other commodity. People need engineers to design and build things. They are essential to our society. The softer skills are in less of a demand. They're also easier to major in and just more people have those degrees.
Now I'm not saying that everybody needs to become an engineer. But what I am saying is that if you're not going to be making dick for money when you graduate. Than you need to think long and hard about even going to college and also how much you're going to pay to go.
If you need a degree to do it, like a teacher, accountant, doctor, engineer, lawyer, architect, etc. Then by all means go! But don't go major in gender studies at Columbia, leave with $100k in debt and then bitch and moan about how you can't find a job!
Let's try to not be stupid for at least one generation.