It isn't a coincidence that these issues have become progressively worse since the passing of Steve Jobs. For Steve, the quality of the product was paramount. But since his passing, it seems that Apple's priority is about the bottom line and keeping shareholders happy, rather than the quality of the product.
If you have ever worked supporting very large code bases then you know how difficult it is. When you have multiple codelines (Mac, iPhone, Apple TV, Carplay, HomePod, etc.) which all have to work together the possible ways things can fail are astronomical. You could fault Apple for releasing things too early, but do you want to wait multiple years for new features? Even then things will still fail since millions of creative users will always come up with some combination of hardware, software which even Apples' best engineers couldn't foresee.
If you wait 5 years for new phone features then people won't be buying phones. With no phone revenue you don't have the money to pay the engineers to write and debug the code.
Personally I don't want to wait 5 years for new features so that Apple can exhaustively test them. Even then there will be something that fails because of some very special user configuration. That's what the betas are for - try to find as many of these combinations as possible as soon as you can. When you get the worst bugs fixed you then decide how long it would take to fix the rest. It's a tradeoff. 100% bug removal is impossible with millions of lines of code. You may be unhappy that a bug which is important to you isn't fixed, but others will be happy as theirs are. What you think is a critical bug management may not when they weigh all of the factors.
If you have read any of the Jobs books you'll know how many times he did presentations with his fingers crossed hoping that the demo would't fail due to bugs. They were very carefully orchestrated to avoid them. And this was when the code base was multiple times smaller than those in use today.
Siri is in some ways different. It isn't as much a relatively fixed code base but is very open ended. You want the latest sports scores? You have to find the relevant databases, link to them, and write the code for the interface. Traffic, restaurant open times - all require separate interfaces to get and appropriately deliver the data. Then you have to integrate the databases "Your reservation for dinner is 8 pm. It will take you x minutes to drive there". How much this can be automated is unclear, but the combinations are again infinite.
The need for AI for such things as remembering your conversation [which I believe is a goal] and giving results based on context, while preserving your privacy is all totally new, in a sense experimental. It is a totally new software frontier. Not that I am defending Siri, not sure why Apple fell behind, but it isn't a simple thing to "fix Siri".
Apple certainly makes mistakes and we should certainly keep their feet to the fire, but we are never going to get perfection. You can always buy a reliable car built decades ago which doesn't have as many things to fail, but I want my GPS navigation, Radar, Weather, iPhone integration, and all of the other things which are built into new and much more complex cars.