the majority of the software issues in passenger aircraft were simply conditions that were not thought of during the development process.
the software on passenger aircraft goes through hundreds/thousands of hours worth of simulations and testing to be as robust as possible but sometimes things have and will slip through the cracks because with an aircraft you are dealing with an incredible amount of complexity along with the tripple redundancy systems modern aircraft have and that includes redundancy in the software too.
it is really not "cost saving" and more to do with something that is so complex you will never be able to predict every outcome.
ota updates are a simpler and quicker way of correcting issues missed during the development process and while it could save costs because it prevents the need for a physical return and update of the device.
just imagine if every time there was a problem found with your phone you would have to go to a dealer to get it repaired, the idea of ota was to streamline the update process to quickly address software issues and security vulnerabilities.
the quicker a zero day is patched the better
some of the most exploited systems on the internet are the ones where the consumer has disabled the ota update ability which is why you see so many companies these days removing the ability to disable the ota update process.
its not just software that suffers from issues after release, look at the mechanical side of things over the years where vehicles need recalls for mechanical problems, these may not be because of a cost saving measure but due to a defect on the production line.
a simple wire put in the wrong place or a tool not changed out enough etc, this sh!t happens all the time.
in pure software terms look at the gaming industry, i am sure you will have basic insight of the complexity of building a game particularly an online game like a mmorpg, these games usually take around 4 to 6 years to develop with both closed and open alpha, beta testing and yet without fail within the first few weeks of release exploits and bugs are found which require updates.
no amount of "time" will ever find all the bugs within complex software and if you have worked in software development you will know this, all one can do is do the best they can to find as much as they can and then release it and wait for the feedback.
i know what you are saying with cost cutting and yes that is always a factor because people want profit but it is not the only reason and it is not really faulty software because we can only find what we can.
for instance i recently developed a launcher for android tv devices because i got sick of the ads being forced on android tv, i tested the utter sh!t out of the app with multiple devices old and new, android api 17 through to 32, tv devices like the shield tv, chromecast, cheap chinese tv boxes, old phones, fold phones and even the android auto in the zb and everything was solid.
i released the app, people have purchased and all is well, no complaints and then one day i go to add a bluetooth controller in the shield tv and when i back out of the settings it duplicated all of the tiles on the launchers home screen... "fcuk" i go lol now i have to locate the issue and do an update.
this issue was not because i was trying to save cost or i did not test the app, it was because it took the condition of adding a bluetooth device to cause an app modified event on the android broadcast system that i was not expecting which caused my app to load the tiles again and this is what i mean by conditional bugs, i would never have thought that connecting a controller would trigger an app modified event and imo it shouldnt but it does and that is probably a bug with android.
i totally understand your concern too, the idea of a vehicle that can be manipulated via the internet does not sit well but with software development as it is could you imagine needing to take your "future" vehicle to the dealer every time there is an issue.
they could setup a manual update system where you the consumer download the fix to say a usb stick and apply it yourself but then what about the computer illiterate people or the ones that just have no interest in their vehicle apart from a to b, they could be driving with critical issues unpatched and again there is no way a manufacturer is going to find every flaw before release so what is the only option for the masses moving forward?
it has to be ota updates or recalls forcing people to return to dealer.
maybe an opt in option for ota but if you dont opt in you have to visit a dealer but even then there are/were still vehicles with the
takata airbags on the roads years after the recall which demonstrates that people dont even pay attention to recalls.