It is a lot faster to setup and easy to maintain, if you don't have a dedicated dev-ops person in the team.
There are services with more features (the ones you mentioned), and cheaper services (OVH and Hetzner, anything on lowendbox...) and those are their big threats going forward.
In my opinion nobody has really nailed the ease of use for spinning up quick server(s) + usability of DO's interface at anything near their price point right now.
That said, OVH is coming into the US in force this year with aggressive pricing, so if they can improve their UX a little they'll be a big threat. Still, I'd bet on DO continuing to succeed.
I'm a scientist turned pseudo-programmer, and need to manage a few servers for my team / start up. We are too small & early to be able to afford or justify a dedicated administrator, and our requirements are mostly WordPress based sites and a database server for internal use, etc.
I've tried to use vultr, linode, AWS.
But DO's interface and the wonderful, comprehensive support documents are a huge huge differentiator.
We aren't using too many instances, (just 3, nothing complex, no webapps). And, with their interface and support docs, this is something I've managed to do on my own without any major issues. And I suspect I'm not the only one in such a situation..
I was ok with the older prices; with the new, lower rates, I'm not even going to consider moving, even if the competitors are at 1/2 the cost. It's not worth the little money I might save...
Give Vultr a shot, I've found it to be easier to use and still just as feature filled and flexible as DO. My favorite feature is their phenomenal support; a while back I had someone take advantage of a lapse in DNS upkeep on my part to try to use one of my domains to serve a pornographic dating site. Within ten minutes of submitting a ticket it was fixed and the domain was pointed back to my instance.
I started with Heroku, and immediately ran into annoyances - mainly that they treat git as the source of truth, and require anything else to be injected as environment variables (which I find annoying).
AWS was tempting, since we use it at work, but the complexity of configuring what I needed was more than I wanted to deal with.
So I went back to DO (who I already run a couple VPS' with) and cleared off a droplet that I wasn't using, setup a docker droplet and went on my merry way.
(I build on kubernetes and do not use GCE specific features for this reason)
[1] https://trends.google.com/trends/explore?date=today%205-y&q=...