Heroku does not have a CDN.
IMO you'd pay for Heroku because of the ability to have one vendor deal with your full stack, including Postgres, and having the ability to roll back / scale up with relative ease. You pay for that ease and support. (Everyone on the support team was a dev too)
For some teams it makes less sense than others. You can also probably find combinations of vendors to deal with most of the above.
Source: Was a customer architect there.