I agree with all of the criticisms of Siri in this post by Bryan Irace, but not in the proposed solution--that Siri should live more in the cloud, along the lines of Alexa and Google Assistant, instead of on-device. If we're going to be surrounded by tiny supercomputers all the time, we should use them as such and in a way that is inherently more protective of privacy, rather than as dumb terminals for cloud services.
First, of course, much of Siri already is in the cloud. However, and this is what's different about Siri vs. other voice assistants, generally personal data about you is stored just locally, on device. When personal information has to be transmitted to the cloud (for example, your current location, for weather or traffic results), it's done in a way that's not tied to a specific user. I'm sure I'm mangling some of this; Apple explains the setup here.
Calendars are a pretty clear way to see the difference. When you ask Google Assistant or Alexa what your calendar events are, it checks your cloud-connected calendar account, and then tells you. The response is formulated in the cloud and just read back to you on the phone or speaker or Alexa toaster. Siri does have to send your voice to the cloud for it to figure out what you want--personal devices aren't quite beefy enough yet--but then the cloud just sends back a command to the phone "Tell the user about upcoming calendar events" or whatever. What those events actually are depends on what's on your device. If you have different calendars set up on an iPhone vs. an iPad, you get different results. And if you have a device without a calendar, like an Apple TV, Siri just can't answer from that device. The drawbacks here are fragmentation, and devices without the ability to answer some kinds of questions; the benefits are customization and privacy. You can use Siri to ask about your calendar events even for a calendar on your phone that is not synced to the cloud at all, for instance, and it works the same whether you use iCloud calendars, Outlook, Google Calendars, or any CalDAV calendar service at all. A cloud-based system is more limited: Google Assistant only works with Google Calendars, and Alexa only works with iCloud and Google Calendars.
The drawback of Apple's approach that most troubles some critics including Bryan is extensibility. Siri can only be extended through local apps, as opposed to through cloud-based skills. This leads to another form of fragmentation as different devices might have different apps installed, and some devices (HomePod, Apple Watch, Apple TV) do not even support extending Siri through SiriKit apps at all.
That said, I still think it would be a mistake for Apple to move to a pure cloud-based approach. It would be simpler in the short-term, but the advantages of fast, local, native software would allow Apple to distinguish itself long-term. It allows developers to use existing methods of proving paid and subscription apps, and ensures that Siri is an alternate way of using a device, rather than a "platform" in and of itself--which some people want, but which I think adds too much complexity.
An example of the flaws with the "independent platform" approach can be seen with Alexa on Fire tablets, with is only loosely integrated with the device itself. Setting an alarm in Alexa does not have anything to do with any app on the device, for instance. You set an alarm with Alexa, and the only way to see or interact with it is through Alexa, as opposed to just opening the clock app, looking at a lockscreen notification, etc. By contrast asking Siri to create an alarm on your phone, has Siri create an alarm on your phone that is the same alarm you'd have created by poking and tapping around. This seems like a more solid approach. Long-term, also, local apps will allow Apple to have more and more Siri functionality (voice recognition, parsing etc) handled entirely on-device.
Rather that shifting more to the cloud, Apple should enable a user's various devices to synchronize with each other, either peer-to-peer or end-to-end encrypted through a dumb, storage-only cloud, whose contents Apple could not view even if it wanted to. This would allow a user to use Siri the same way on any device--for example to view and create calendar events on an Apple TV, even though the Apple TV would have no calendar app. (A user would still be able to turn off this synchronization for particular devices.) This approach would have several other benefits as well--for instance, a user would be able to keep a local, non-cloud calendar, but still have it synchronized to other devices. There was a bit of a stink when the inexorable move to the cloud took away people's ability to just sync a PC or Mac calendar to a phone without a cloud intermediary, you may recall.
As for apps, they'd sync, too, with irrelevant assets not installed on devices that don't need them. For instance a SiriKit app would be installed directly on a HomePod, but without any of the pretty pictures.
Apple, of course, doesn't have the best track record here. The aspects of many of its services that work the best, like CloudKit, are just regular cloud services like any other, and when some processing is done entirely on-device (e.g. face recognition in Photos) device-to-device synchronization is somewhat limited.
All that said, while I'm obviously not the right person to work through all the details here, it would be nice if Apple found ways to improve the functionality of Siri without turning into just another cloud-based service. The end goal should be more and more functionality being local and free of the cloud, not less.