Business can blame a lot of it on themselves. A new technology comes out and they put it out as needing 3 - 5 years experience. It isn’t even out for 1 year.
Saw a post recently. Company wants 10 years of NodeJS experience. NodeJS was created 2009.
They can also blame themselves for hiring H1-Bs, who in the tech sector are submitting fraudulent resumes 99%+ of the time.