If you read modern documentation and tutorials for push APIs integrated into OSes[1] they'll tell you that the purpose of push notifications is to remind the user that your app is installed and encourage them to open it.
[1]not IMAP IDLE and leaving a socket open, that's not allowed anymore. the app servers connect to the service and if there's new data it must be relayed through the OS vendor's push server which the OS leaves a connection open to and will cause a notification to appear on the "end user's" device.
Yes, I meant that exact kind of push notifications like APNS and GCM. If you have an official app for your own service, you simply implement them on your backend. If you're making a third-party app for something, then yes, it's inconvenient, especially if that something doesn't cooperate. Though some services that have open APIs offer you a form to specify your APNS/GCM credentials.
[1]not IMAP IDLE and leaving a socket open, that's not allowed anymore. the app servers connect to the service and if there's new data it must be relayed through the OS vendor's push server which the OS leaves a connection open to and will cause a notification to appear on the "end user's" device.