Training for training sake is not something that a company should do. But if the training makes their people more productive, and hence the company more competitive in the market, then the clever companies are able to see the value in that. I think in the last 6 months alone, each guy on my team has been on at least one significant (2-3 days) course. But they've paid it back very quickly by adding some capability that we couldn't offer as a company before they had done the releveant course.
I also interviewed a person a few months ago (for a BA job). she had decent sectoral experience and had a software development degree, so on paper, she was a good fit. In the interview, she came across well, but I was keen to see whether she would add value, by coming up with ideas around new products or new processes that would feed into our R&D activities. So I asked her to think of the department/section she worked in before and in the light of the inefficiencies she spoke about in the interview, draw out a process of how it could be done so much better. I didn't put her on the spot, I told her she could just send it in when she had time to think about it. I effectively told her that if she did this, she'd get the job.
No contact since...I believe she is still looking for a job.
The point I am trying to make is that a candidate who isn't willing to do something relatively straightforward to get a job, would hardly light up the place if she/he did get the job, so the decision was made. By her. Unfortunately due to the kinds of press releases about vacancies highlighted by the OP, the average candidate does not think that they need to try too hard to get the job, and until people with that mindset change, then they will remain looking for work rather than working. Alternatively, there are candidates that are working on contract, and when looking for permanency seek a salary which is commensurate with contracting. Such expectations need to be re-calibrated.