This is only partially true. The code isn't so much a mess as it is not efficient from what I recall. There was a conversation on here some months back where someone went through the code because others were complaining about it and showed that it's not the big mess everyone thought it was, but that it's also not super well written code.Weren't some people saying the code is so messed up you'd basically have to start from scratch to make sence of it? I don't understand any of that, just read comments saying this.
I personally haven't looked at it (not that I'd really know too much of what I'd be looking at as I'm no programmer and only have a basic introduction to Python), but that's the story I've been told on here from people who seem to know better than I do about the subject.
On the topic of the update being "late". If you were making 10k+ a month and you had no expectation to release regularly or suffer any consequences for not releasing regularly, would you be putting in as much work as you could to finish as quickly as possible? Or would you take an extra "payday" every few months to pad your bank account? The crowd sourcing model doesn't work if there are no consequences/responsibility involved. If putting out an update every 45-60 days is enough to keep your patrons around then that's what you're likely to do, regardless of how "noble" your original intentions were.