

AWS and similar are very expensive compared to a simple VPS. However, AWS offer things that is hard to do on a VPS, not impossible of course but just hard.
Like automatic scaling, your site suddently gets on the frontpage of slashdot/hn/reddit/etc and get 1000x the normal traffic? Your VPS will probaly choke and render error pages for most of the traffic. On a correctly configured AWS scaling deployment, you won’t even notice it. And not only for your webserver, you can do the same for data
And other features like multiregional and easier CDN (also in multiregion) integration.
There are of course problems with AWS also, sometimes you don’t want your site to scale uncontrollably. If you get DDoSed without mitigatiln, for example, you could end up with a huge bill for nothing.
So, as with almost everything in life. It depends what your goal is and how much you want to spend.

Yes. That is an other valid path to use. And you get pretty far with a medium single VPS as well, I mean it is unlikely your little app is going to be another Amazon over night. Starting on a VPS and then adding more, until eventually you might need automatic scaling is all fine.
AWS (and others, but I have used AWS the most) charges quite a bit of a premium but they package it for you. But there is also a big risk of vendor lock-in. Everything is configured for AWS, if they yank up the price you either have to spend a lot of time and money to migrate, or just pay up.