How would you suggest writing something like.... say... Photoshop or Chrome, without introducing any complexity? How about an optimising compiler or better yet something behind the firewall like a medical imaging device or financial trading software?
unnecessary completely is something to avoid. Inherent complexity is something to embrace. We're trained to remove unnecessary complexity so much that sometimes we think we can remove all complexity. That's a fallacy. Sometimes, things are just complex.
Being able to tackle complex tasks is still a real challenge for the current models and approaches and not all problems can be solved with elegant solutions.
That's a feature, not a bug. Complexity is something to avoid.