I'm a customer on DO as a small business (mobile game). I wanted some linux servers that I have control over, and I wanted a managed database where someone does backups for me. I also wanted simplicity and a nice UI. I didn't even compare prices, I just thought it was a good deal and didn't look back. At first I tried Heroku but it was too much adapting our application to their way of doing things. DO is just hyper-simple for me. So, thanks DO :)
AWS is infrastructure as a service (IaaS). You need to worry about load balancers, backup scripts, firewalls etc. Ie you need a plausible sysadmin to run it. Even Elastic Beanstalk requires some sysadmin.
Heroku is platform as a service (PaaS). It abstracts away the complexity of AWS. The base cost is more expensive than raw AWS but you don't need to source and pay for a sysadmin.
AWS, Heroku and DO aren't "better" than each other, they serve different use cases.
After failing with Heroku we migrated to using Dokku on DO. And yes it is more work to do it ourselves, I didn't want to do that but here we are :) It was not a lot of work, dokku is really nice, but it was/is some work. I was hoping for almost no sysadmin work but that didn't happen.