Part of designing systems is making trade-offs. You give up some things to make room for other things. Your goal is to “optimize” the system in some sense.
This process generally works well, provided that you have a good understanding of what effects the changes will have on the overall system. Sometimes, though, systems reach a degree of complexity where you don’t have that level of understanding. You change something and the result is something unintended – so-called unintended consequences.
You could also describe these as unexpected trade-offs.