I suppose my question is highly dependent on what "complexity" means.
It is, so I hope you forgive me for first spending some time with this issue, before considering your actual question.
For decades, if not longer, linguists have been avoiding the notion of complexity in language, usually with the hand-wavy argument that all languages are "equally complex" anyway.
This wasn't without reason; the question as to what aspects make language complex is notoriously difficult to answer. Also, one wanted to avoid getting into the sort of speculation that scholars like Humboldt had been engaging in in the 18th and 19th centuries, which often involved ranking languages from "primitive" to "civilised". Of course, it was conjectured, those "primitive people" would also be the ones to speak "primitive" languages which lacked not only complexity but also (subsequently, it was thought) the full range of expressivity that European, and especially classical, languages had.
We now know that these ideas could not have been further from the truth. Of course we can express any thought, no matter how complex, in any language of the world; it would be possible, for example, to reason about Quantum Mechanics in an indigenous language of the Amazonian, if one cared to borrow all the technical terms. And in no way has it been shown that "primitive people" somehow lack power of expression or linguistic complexity.
But we are nowadays starting to reconsider the question of linguistic complexity, even if we still don't know how to actually define it. We may try to narrow it down by, for example, only considering morphological complexity and saying that English is morphologically simple and Chinese even more so, but one could sometimes also argue that lack of morphological complexity - e.g. cases - has to be "compensated" elsewhere, e.g. in syntax. For example, a language with a case system tends to have a less rigid word order, so it may be easier to express notions like information structure (what is highlighted, what is previous knowledge, and so on) whereas English with its almost nonexistent case system often requires special constructions like clefts.
On the other hand there are also clear cases of complexity that do nothing to "enhance" the language: The irregularity of a lot of English verbs, the numerous declination paradigms in Czech or the seemingly (?) logically inconsistent verbal agreement patterns in Kiranti languages do not seem to be "required" in any way. So we can maybe call that "unnecessary" or "superfluous" complexity.
So, to summarise, there is now growing interest in complexity in the area of linguistic typology, but we still have a lot of unanswered questions.
Now to your question itself: We know a lot about how languages evolve, but to this day, theories as to why this happens (and why sometimes it doesn't) are still quite speculative. William Labov wrote a 4-volume book called Principles of Linguistic Change which tries to address exactly this issue, but it is still perhaps the only comprehensive work in this area yet, plus it is very limited in its scope in that it is restricted to mechanisms of sound change. Whether the same mechanisms apply to morphosyntactic or lexical change is a matter of debate.
So, again, we don't really know anything about the fundamentals of language change.
We do however have some basic insights that may help answering your question:
- Laziness and sloppiness (in performance) are actually not (or not always) the mechanisms that makes languages simpler; often they tend to make languages more complex. When speakers are lazy they tend not to pronounce words well and not to articulate what can be inferred from context anyway. This is for example what leads to contractions of often-used forms, making them irregular. Don't confuse shortness with complexity - a longer form can in many cases be simpler than a short, ambiguous one (arguably, agglutinative markers are simpler than the shorter fusional ones, by virtue of being more transparent).
- People simplify words that are not often used (by analogy etc.), maybe because they cannot remember the correct form or because it's so uncommon that "it doesn't sound right". On the other hand, with words that are very frequent, we don't necessarily see a need to simplify them.
- Actually, I think the question might be more: why do we simplify? Why does language have to evolve at all? Naïvely, the null hypothesis would be that it simply doesn't - only we know that for some reason it does, and why this is the case is still not well understood (and that's what Labov addresses in PoLC).
- It seems to be the case that, contrary to what people like Humboldt believed, it's actually the smaller languages of "more primitive" societies that tend to be more complex. This has been hinted at by some recent studies. One reason why this might be the case is that isolated language communities usually have a very low proportion of non-native speakers. Since adults learn languages less easily than children, there could be an impetus for simplification of linguistic structure in languages that have a lot of non-native speakers like English or Chinese.
- In a similar vein, we have known from dialectology for a long time now that the most rapid and consequential linguistic changes happen at the center of a language community than at the borders. This is probably because at the center there is more intense contact between different dialects/variations than there is outside.
I'm not sure if what I write here makes any sense. I'm mainly reciting from memory, I've read about some of this stuff but it's been a while and I don't have a lot of references handy. So anyone feel free to correct me.