Edit: After reading my comment, I don't think I made it clear enough that I'm agreeing with your point about people not marketing or educating themselves adequately. After spending 4 years in college, I think a lot of people expect to show up at a job interview, show the interviewer their degree, and get a job. The reality is obviously quite different.
The issue with most people is that "you don't know what you don't know", coupled with the fact that most still have the idea that college/on the job training will suffice, while many companies are no longer providing training.
It takes a specific mentality to take the time to learn a craft with little to no immediate benefit in sight--you see this in other fields too, but they're not the norm.
The question is, do we try to change our culture to generate more self-starters, or do we change the institutions that need skilled labor?