Nobody else here writes software I guess?
First, when a program gets complex - as AH is no doubt - you may not anticipate everything that is affected when you add features or make changes. You may break things or cause other things to become erratic.
Second, it then gets hard to judge how long adding the features/changes will take and even harder to guess how long it will take to fix things once you add the new features.
If HTC releases a version before they are comfortable with it and with important known bugs, then people will complain about all the bugs. (There is no doubt we are a complaining bunch)
So announce a date and then have it slip because there were unanticipated problems to work through and people post up a storm about no new releases, overdue, etc.
Then there is the strategic element. There are other online sim companies. Announcing what you are going to build in and when would give competitors advance notice of features they might want to include to negate any advantage HTC might gain.
Not announcing "when" is really good policy. They don't have to work under extreme pressure to make good on dates that are really only educated guesses and we get better software when we do get it.
Try writing more than the basic "Hello world!" type of software application and see all the things you have to consider and check before you can kick it out the door. Maybe a simple twirly bouncy wireframe cube or something. Hold it to the same standards you hold AH to. You'll see why they don't want to announce when.
As an aside, the way these sims get developed is hard on the programmers. You build a basic program and then shoehorn features in after the initial release. This is what causes things to break and makes it hard to troubleshoot - the code kind of takes on a life of its own and gets harder to update. After some number of revisions, it gets time and cost effective to just start from scratch and build a new program "properly". But while modifying old code, each revision will in general take longer than the last because of the added complexity and the patchwork nature of the old code. All depends on how many of the changes and additions were anticipated and how the code was built originally how easy each rev is.