Sure but the integration of the addons is tightly done, and there'll be a commercial contract with these companies. You'd probably need a similar contract with those addon providers which they may not be willing to provide if they've an exclusive contract with Heroku.
And don't forget the number of free applications running on Heroku, these aren't making them any profit at all and are using up a lot of resources.
Every one of those addons is available directly from the vendor. The addons just set some ENV variables, or auto installs a plugin on deploy. Plus the provisioning apis are well documented so you could easily replicate it on a competing service so existing addon's would work with no additional dev effort needed by the addon provider (I've deployed a heroku addon).
Yep, good point on the free apps. I don't think a competitor would have to offer free apps though if they were able to lower the cost for paid installs and use the exact same deployment tools.
To use the addons in a standalone setup you need to create an account at the provider's website. I assumed that Heroku had some agreement with the providers which lets them bypass this and instead passes on the user's Heroku details transparently
Yep, these are handled via the provisioning apis. When the addon is installed, the service gets a simple provision api request with the customer details. When the addon is uninstalled, there's a deprovision api request.
Heroku Addons are super well documented and easy to develop and deploy. One of the best parts of the platform.
And don't forget the number of free applications running on Heroku, these aren't making them any profit at all and are using up a lot of resources.