Outsourcing abroad is more difficult because of cultural differences though. Having worked with outsourced devs in India, I found that we got a lot of nodding in meetings when asked if they understood, avoiding saying no, and then it became clear when PRs came in that they didn't actually understand or do what they had been asked to do.
You can't just expect people from other countries to communicate as effectively as people who grew up right down the street from each other. Yes, it's objectively discriminatory, but not for hostile reasons.
Build up to it and foster growth in your overseas teams and you’ll do well. Thinking you can transform your department overnight _is_ a great way to boost your share price, cash out on a fat payday and walk away before your product quality tanks.
I didn't say this -- I think it's your take. Even more -- I'm such an "outsource" software developer who is working for US and EU companies. My take is that overusing outsourcing in the long term, you can lose local education because "we can just hire from ... so why do we need to teach ours?" -- I saw it already, even on an "in-country-scale" level.
Negative consequences can also be social, no-one is saying that it's, say, lowering of product quality.