I think it's totally worth it. Right now it still costs us less than a developer to run on Heroku and not that long ago we were 3 of those devs. I think having our front-ends on EC2 along with setting up memcached/mongo/nginx/etc ourselves is a much higher upfront cost.
Then there're traffic spikes. Pretty hard to deploy to bare metal or EC2 instantly without building your own Heroku-like system.
I use heroku for prototyping, which it is great for. I would not use it for larger projects in production (disclaimer: while also being a developer, I'm the company syadmin). If we measure downtime, heroku had much more downtime, than the servers we have internally - and I find heroku extremely slow compared to what I can deliver with basic hardware. Their database offerings are awesome, though.
The convenience is totally worth it for prototypes and very early stage startups. The less work I do on a system level is more time I can spend on my startup.
Once you move past that, because your app is well structured you can easily deploy on your own hardware.
Really? Do you work on your own car? Is it because you think you aren't smart enough to do it or because you think that spending your time on other efforts is a more valuable configuration?
AWS is the electric company. Heroku tends to be the circuitry, outlets and light switches for your house. You may take it for granted because it looks so simple, but it's the simplicity that makes it great.
As PaaS providers begin to mature and turn attention to more worthy challenges (like geo-agnostic deployments, easier scaling, for example), then their value is only going to increase.
They will shut down your instance, if you don't use it for an hour or two - and then it will take like 8-10 seconds to load it again. If you can live with that, I guess that would work, yes.
From what I see, when you have a single dyno, Heroku deploys you to a different environment sandbox called "development". Typically that has less uptime and takes lots of upgrades all the time with interesting consequences. I believe they promote to "production" applications much less frequently.
Then there're traffic spikes. Pretty hard to deploy to bare metal or EC2 instantly without building your own Heroku-like system.