Heroku definitely hides the complexity of their "magic". It just seems to work so effortlessly.
However, my biggest question so far is this: what is the best practice for managing and maintaining the DB? I'm used to jumping into the db for routine tasks, ad-hoc reporting, and troubleshooting. Amazon RDS would make it easier, but a bit pricy for my needs right now. I also understand you can db pull, but I've heard a few examples of data loss when attempting a pull/push roundtrip with a local PostgreSQL instance. So, I find myself spending time in the Heroku console, manipulating the data in code, manually.
What do you do to manage/report on data in the DB? I'm preparing to launch a number of larger projects, but need to get a better system in place first.