i am being sorta vague here and taking some creative liberties with the markets involved. but at a high level, there was so much logic spread over various versions of the apps + geographies + some permutations of those. so you could add a check somewhere (app/server/both) like if (foo) and assume it'd not break in some markets, but lo-and-behold, if often did.
Uber is in many markets, but has to serve them all from a single distribution. That leads to logic, screens, and workflows specific to each customers situation. I imagine it isn't difficult for one team to inadvertently affect another, given this constraint.