This article doesn't quite explain what's going on as much as I would like, so maybe I can add some more detail. The key problem from an app developer's point of view is that the iOS push notification API doesn't just let a server send an encrypted blob of data to a user's app, and have the app handle it locally, deciding whether it needs to display a notification to the user. What the iOS push notification API does…
When the user is not running the app, what is the use case for the app waking up and processing data that is not an incoming message to be delivered to the user? Facebook was using the VOIP framework to burn so much power after the user had quit the app that you would see articles pointing out that deleting the Facebook app could double the battery life of the device. >Deleting This 1 App Can Literally Double Your Ph…
Not user visible (mostly), but still important are things like end to end key changes and key cycling related to group changes.
Disclaimer: I used to work for a messaging company.