When well managed, an offshore team can be more efficient than a onsite team, and sometimes cost half the price.
A typical freelance C# developer can earn up to $100 per hour in western countries (sometimes lot more). The same guy (same experience) in india is 5 times cheaper (sometimes lot less).
A typical employed C# developer can earn up to $25 per hour in western countries (sometimes lot more). The same guy (same experience in india is 3 times cheaper (sometimes lot less).
I also discovered recently that you can take developers on leasing (or renting), just like objects (cars, etc)!
You tell the leasing/renting company you need 4 C# developers with knowledge of nHibernate. They will find them, they will hire them, they will pay their salaries, they will buy computers, they will put them in an office, they will add phones, emails, etc.
You pay a monthly flat fee for the service.
Want more ? Just tell the company they add more developers. Want less? No problem bob, they remove developers.
The world is changing... you have to do something.
I suggest you this great book:
My Job Went To India

It will helps you improve yourself in order to avoid being replaced by a cheaper (and more competent) offshore developer.
To summarize: offshoring will eventually become legion. And "simple developers" with no added value will be replaced.
Invest in yourself