Both! I think the the complexity stems from the fact that an order (or an invoice) is a "human" and "fuzzy" artifact, while a relational database or TCP/IP stack is a mathematical-technical artifact and therefore much more amenable to the computer model. (I don't want to imply that a database isn't complex, but as Intuit shows: modeling accounting on a computer is also pretty damn complex.)