Managing complexity is one of the greatest challenges developers and managers face. Developers face complexity in the form of having code that can grow difficult to understand, and managers face it in businesses that become hard to comprehend. The human mind is finite and can only hold so much in it at a given time.
Developers have a number of tools and best practices to try to help make code more understandable. These range from MVC frameworks to self-documenting code to abstracting away complexity.
Business managers deal with it by trying to track what is going on and break down responsibilities and assign them out in a comprehensive way.