QuickBooks Online's API documentation includes a recommendation that users use webhooks instead of change-data-capture to synchronize their entity records with QuickBooks's. Why are webhooks preferable? It seems like they have several downsides:
Events can arrive out of sequence
You can miss events
Because you can miss events, you still have to make periodic CDC calls anyway
If your app experiences lengthy downside, there's a possibility Intuit will blacklist the endpoint, forcing you to reconfigure stuff from scratch.
You must respond very promptly, requiring employment of queues and asynchronous background workers to process the updates.