From the hiring side, I agree with the dearth of quality candidates, and on the job training is often the current solution.
From my own university experience: the wrong things were being taught, and depth was pretty much out of the question. I can only imagine its worse elsewhere.
Only due to my personal side projects did I end up getting the knowledge needed for a job.