Complex logic in constructors can hide initialization errors and make them harder to debug. In an e-commerce system, if a `Customer` constructor performs complex account setup, it might fail silently, leaving an object in an inconsistent state. Keep constructors focused on simple, essential setup.