|I believe, the answer is not technical. It's human. When everyone can produce a working program of complexity x without any problem, you are not going to sell much of that anymore, because everybody else is selling it too.
The demand to produce something, which accomplishes more than the software of other vendors will always be the driving force in the software industry. Therefore, programmers will always have to achieve whatever is possible with the means they have.
The more people produce software, the more other programmers will have to reach for their limit to be able to sell anything anymore. Thus, general complexity will increase, until nobody can be found, who can create anything more complex (which is very unlikely in my opinion), or fewer people produce software (again unlikely), or nobody wants any better products anymore (least likely).
IMHO, competition and the law of supply and demand drives complexity.