In one situation, we had one incredible "junior" Indian programmer who was working under another Indian senior developer. The senior developer did not have nearly the experience or expertise the younger, "junior" developer had.
Simply because of cultural norms surrounding age and seniority in Indian cultural, the more senior developer took pride in pushing the younger more experienced developer around. Telling him he didn't know what he was doing, telling him his code was all wrong, and generally threatening him with firing if he didn't follow what he was doing. This lead to many a heated argument and the younger developer having to let other American counterparts argue his case for him.
It made for a crazy environment. My manager confided in my that it was like living in high school all over again where the senior QB was getting pushed by the younger freshman QB who was bucking for his starting spot. Eventually the senior developer was let go and things got back to normal, but it showed even cultural norms can interfere with the quality of work getting done.