A large number of workers are needed in the US to do low-wage tasks - pretty much so their employer can profit from their labor - and some of the issue is that illegal immigrants wouldn't be counted as part of the labor force (because they aren't supposed to be here), but in theory, they are displacing the opportunity for Citizens to do those jobs.
The issues are more complex than I describe, and they certainly will apply to skilled labor too (ex: nurses to care for an aging population). One of the major contentions is that companies, in reality, post jobs with requirements that are high (10+ years! X, Y, Z skills!) but offer a salary or compensation that is way, way below market value. This means that technically yes, the company can not find a qualified candidate to do the job, because they have targeted people who would be willing to do it for much less just to, well, have an opportunity to get into the US.
It is very backwards for the US to be "anti-immigration" as a general concept (it's the foundation of the nation!), so how the arguments get twisted make it hard to figure out in some ways. This explanation is simply my perspective using my observations and stuff I read, so it is not peer reviewed or anything like that!