I think (or perhaps I should say "in my experience") it's industry and school choice more than anything else. For example, my first industry out of college was the military, where an undergrad in underwater basket weaving from North Dakota State University is exactly as lucrative as an MIT computer science / economics double major with a 4.0 GPA. Fast forward to now, I have an MBA from a top 20 school and make solid money, but for an MBA, school and industry selection are paramount. Had I attended one of the top 5 and worked in finance instead of wind energy, I could conceivably be pulling down 2-3x what I am now.
Another example: wind energy employs skilled techs for turbine maintenance; this job can usually be obtained by getting an associates and being in good physical condition. In speaking with these folks, a lot of them know people with similar backgrounds working in the oilfields making 2-3x as much. Running a horizontal drilling rig blows many white collar jobs out of the water compensation-wise. In the late 90s, a computer science degree was seen as a golden ticket, but by the end of 2001, computer science was almost seen as a dead end, the market for tech jobs dried up that quickly after the bust. Now; it's back on top.
Bottom line: IMHO it's a happy accident of history and economics that allows a 24 year old petroleum engineer to make $110k per year. For that first job, the undergrad degree can open some doors that might be otherwise closed, but in the long run networking and career flexibility matter much, much more than your undergraduate major.