While your use cases are good examples, there are plenty of other use cases where you’d want to send push notifications based on 1) an activity that a user just performed in your app, 2) an activity that the user didn’t do — classic cart abandonment, 3) target users based on their geographic location, 4) New user vs. old user etc. Sometimes you’d also not want to send too many notifications to a user — so you apply frequency capping.
This is where platforms like CleverTap come into the picture. Not only can you use it to send a blast to all users, or users who’ve subscribed to a certain topic ala Parse, but also send personalized, timely push notifications based on any of the use cases I’ve listed above. We do it blazing fast, with a fair degree of success rate.
I suggest you check out this section — https://clevertap.com/push-notifications/ to appreciate various push notification use cases.