All the really qualified people are in the bay area working for tech startups, etc...
So a company outside of the bay area would have to bring in H1B workers who are willing to live in the area.
I am not sure if there are costs concerns for the company in making that decision, but I figure if they were willing to hire me, they probably don't have a problem hiring local candidates if possible.
Edit: Since people want more details, I'll elaborate on the VERY LITTLE that I know. Right now consulting agencies in Sacramento, CA need Senior Ruby Devs and they can't find any. I am not 100% sure on what salary is being offered, but I am guessing around 100K. A junior dev fresh out of college can make about 40K (remember its Sacramento!). (I want to make it clear this is all hearsay, don't quote me on this)
I was told an agency that hires out H1B workers can get paid as much as $50/hr. I have no way to verify this, but this is what I heard.
Another thing is, these are short term, project based, positions --- not very attractive to people seeking a career.
They also have a constant need for .NET and Java devs.
That being said. I am very much against outsourcing jobs that could be hired locally. But Sacramento has a very small developer community, so I don't blame them for using H1B to fill the gap. But who knows... maybe it's all a ruse.