Back to the programming reality from the analogy, I've seen outsourcing happen, for businesses that revolve around American customer bases and rules and regulations- now the code is outsourced, but the basic understanding of how business logic related to the real world use was gone. So the offshore team, while technically competent, was not equipped to make decisions about software with the consumer in mind. If you were working on something and it didn't really make sense in a real world sense, as a dev, you could go to your product person and raise concerns. Without the cultural context- those concerns never get raised.