Unrealistic expectations are an issue
I have been in the business over 20 years now and in my opinion the recruiters' complaints have little to do with lack of supply. There is plenty of starving talent out there. The issue is that the person writing up the "Required Experience" section of the job advertisement is very rarely a person with any real understanding of the job to be done. I still see recruiters asking for impossible experience, like 3 years experience with HTML5 (which as of right now is still under development). I can remember when the first version of java was released there was a flood of requests for programmers with several years experience. I assume the requiements are being written up by an HR manager somewhere, who puts arbitrary numbers on them. Think about it. What is the difference between 3 years and 2 years experience with C#? These type of requests are presumably filled eventually. I can only assume that the winning applicants are being less than honest about their experience. The whole process undermines the credibility of others with similar experience. A better requirement would be a listing of specific skills and experience doing specific things. Alas, even the attempts at this I have seen were poor at best.