Complexity in software is the result of inherent domain complexity (essential) mixing with technical complexity (accidental).

Scott Millet, "The Anatomy of Domain-driven Design"