I was using heroku initially but went with digital ocean to reduce costs. From my experience with using heroku, it's pretty easy to scale without knowing server-side configs, etc. But depending on your app, getting onboarded with digital ocean or the likes of it is not too cumbersome either. For example, digital ocean gives you already baked in setup for django/python. You can simulate heroku by deploying code using git pull given it's on some git repo (not to say that's the only killer feature heroku has). You may have to be wary of some security pitfalls though. I've noticed default password for postgres db is same for all django/python instances in digital ocean. So if you were to allow connection to db outside from localhost without changing default password of db - that's a big, big security risk! I wonder if there may be some websites on digital ocean already impacted by it.
In summary, you may be expected to learn gunicorn/nginx confgis (depending on the app) and have to be cautions of some security pitfalls if you were to go with IaaS. Depending on the scope of your app the work to get around these tasks may or may not be enough to justify using heroku.