There was frequently more than just a DB; one thing Heroku made easier was adding things like mail serving, memcache, Redis, etc.
The major issue in early Rails deployments though was the dependency hell you got pre-Bundler (equivalent to something like Yarn in the JS world). Most of the fighting with deploys I did was along the lines of "it works on my machine, why doesn't it work on the server?"