Sounds like this is about programming.
Requirements are often complex and this make every software which can do something what is more than trivial also complex.
What makes the requirements complex? Partly because we have to support a lot of legacy stuff in every system. Software is usually built on top of existing libraries. It would be insane to develop button drawing functions in every software which has GUI. This desktop would be ugly, unreliable and too much time wasted.
Selection of cross-platform widget libraries is shockingly short (not counting the wrappers).