Not OP, but I can answer - also was very happy with Linode for boxes, but there's a lot more than just boxes these days - queues, streaming, metrics, monitoring, containers, etc. Once an application moves from 'runs on a fixed number of boxes' to 'autoscaling, automatic healing/recovery and distributed databases', the overhead of DIY gets high (and I'm paid to do that!).
My clients pay a fairly high premium for AWS because it allows them to move _faster_, not that it's _cheaper_.