I think it's at least partly because how averse many shops are to hiring people; even people who clearly lied on their interview/resume.
At one point in the past I worked with someone who was incapable of understanding pass-by-reference; something like:
int getFoo(foo *out);
A colleague spent multiple hours per day for a week trying to explain this to them. After a week they still were unable to successfully make use of this interface.Their resume claimed 5 years experience in C.