One part of this is that everyone wants something that is bespoke. They want their system to unique and custom, which inherently adds complexity. I've worked on lots of projects where a customer likes what we're doing, but has a specific way they want the system to work. This leads to lots of the complexity in products I've worked on.