Comment
Comment by iliketosleep
I think that one key source of needless complexity is lack of "spring cleaning". Design artifacts and quick hacks, over time, can create high levels of complexity that are a major hiderance when adding new features. This might be due some people taking the "if it ain't broke, don't fix it" approach to the extreme and not taking future considerations into account.