Exactly. This feels like a car that has been delivered to a timescale, irrespective of how "finished" the software is..
If you assume that both the building of the car and writing of the software started a year ago ... it's totally normal that one (or both) could have had problems along the way.
So let's say you are a business ... you have spent money on getting a factory ready to build them. You have staff ready to make them .... and then the tech guys say "hay we are going to be a few months delayed". That could cost them millions in wasted dead time. So you make the call to release the car as it works fine (
Headlights are a minor issue for a car at launch and easily fixed) and this will get you revenue and turn over.
So you announce a release date and start selling the cars. You are asking for a date from the tech guys and they say "soon". You start to deliver the cars.
Then getting rather anxious you keep asking Tech for the stuff .. they finally admit they are having more problems than expected and the ETA is now a few more months.
Your only options are keep saying "soon" or announce that there is a delay and when it will be rectified.
There is a belief that because you have been doing something for years you can't make mistakes or delays can't happen. I've been in Construction for 30+ years and there are still issues and problems we have to overcome each new project. Crossrail anyway?