It does take 2-3 months to hire an H1B visa candidate.
Hiring managers have to jump through many hoops with the United States Immigration Services to hire an H1B Visa candidate. This takes time. The process can be expedited to 6 weeks by paying extra, but not always.
The company really needs to want to hire an H1B visa candidate to hire the person because it does take a lawyer and capital to pay the USCIS fees.
In our professional opinion, H1B visa candidates are more stable than many job hoppers in the market. This is because of Fact 1.
It takes a long time to hire them and they cannot just quit since that will affect their visa status in the USA. For them to leave an employer, they need to already have another employer lined up that is willing to go through the H1B visa process with them.
This is much harder than one thinks. About one out of ten employers in our opinion accept H1B visa candidates.
In our professional opinion, they are candidates of last resort for many employers, but a needed one because without them, the market would have less candidates available.
They bring necessary liquidity in the market meaning if someone really needs a skilled IT professional or an Engineer, they can still hire someone stateside via an H1B Visa candidate.