As someone who has one of those vision cars stuck at 2021.3.106, I certainly share the frustration being vented here. However, I also was a software developer for over 30 years and can provide some perspective. The software that we are all anxiously awaiting must meet -all- of the following criteria:
- It must be safe. If you follow the news, you will know that Tesla is under a lot of scrutiny about this. A new software level that introduces any new safety exposures would be a disaster. That means that the new level must be carefully reviewed and extensively tested to ensure that it doesn't introduce some catastrophic new exposure.
- It must work on all versions of the car. That includes working on all of the alternative chipsets that Tesla has had to use in order to get us our cars, as well as radar vs vision, etc.
- It can't regress any existing function. Look at the outcry over the 'Christmas update', and that was a deliberate design decision. Unintended breakage is always an issue in software changes, due to the complexity of the system being changed.
- It must be serviceable. What I mean by this is that any changes have to be made in such a way that they can be undone or changed again. Think of painting yourself into a corner. It is very possible to do that in software, such that you would have to pretty much start all over again at the highest architecture level to make the next required change. That is incredibly expensive and something to avoided if at all possible.
- It must provide enough new and/or improved function to be worth the cost of developing and distributing it.
In order to accomplish the above, a list of changes has to be made and refined. Then the software must be written. This involves both new code and modification of old code, which can be much harder to do than it sounds. Then the new software level needs to be extensively tested. And if issues come up, they have to be resolved and re-tested. All of this takes time, whether we like it or not.
As to the question of why some people get updates and others appear to be 'stuck' at an older level, I suspect that it is a combination of specific car configuration, region, and Tesla using phased roll outs in case some problem does show up. In any case, I can assure you that having multiple development streams is a serious pain in the @ss for everyone involved and they aren't doing it just to piss off their customers.