Conversely, I also feel like Heroku could round out their offering just a bit more (ex: built in robust monitoring and alerting, better deploy notifications and healthchecks, a simple custom metrics system) and really lock in that "premium basic" tier that would be perfect for most small to medium businesses.
I've always enjoyed Heroku, but feel like I'm paying a premium because I don't know enough to do "real" cloud work.
"If I were a more experienced developer, I could run this on AWS for pennies on the dollar".
Honestly, I don't know where that sentiment comes from exactly. It's at least partially coupled with the fact that all of add-ons you would need to pay for to run a small business site add up pretty quickly, from what I can tell.
There's some friction with AWS (e.g. SSL termination) that Heroku makes incredibly easy, so I usually don't migrate until it's clear that a service is going to continue to exist in the medium term - otherwise the investment isn't worth it.
Didn't mean to imply that was a widespread sentiment, of course! Just my personal one.