I don't have IT experience, but you said "tech workers", so I'm going to chime in.
In my experience, our open positions are filled in three ways:
1. We have an internship/co-op program and hire kids who work out well while on co-op.
2. Poach from other tech firms when they lay off or close down.
3. Advertise the position, sift resumes, interview, and hire.
Most - actually, almost all - of our hires come from #1 or #2. The chances of finding a decent person with method #3 is very, very low. You have a lot of people who, I don't know if they suck at interviews or just suck in general, but not many come through the door that I'd like to work with based on the interview. We get a lot of co-op duds as well, but those just go away in a few months. The good ones are trained cheaply while they are co-ops and then can start right away as full-time engineers... win-win. Another real score is when places like Lockheed or Honeywell close a facility nearby. It isn't that frequent and you feel bad for the employees, but man we get some good talent from them.
This - except with four bullets, and #1 is referrals from current employees.
I dread sifting resumes. Contractors are hired through a third party company, and the only time I've ever seen talent come from them has been when I send them someone to hire to work here. Non-contract work job-postings are a mix between HR and hiring managers for what goes into the listing...and I'm starting to feel incredibly jaded by the process.
Don't blame HR for everything - hiring managers generally have as much input as they want, and HR is there to support them. Unfortunately, many hiring managers outsource their responsibilities to HR, thinking that since the HR role / department exists, they don't have to do anything except open their arms and receive the best and brightest candidates, pre-screened. If only that happens.