Cloudfront can distribute static content and backends running on Lambda@Edge.
DynamoDB supports global distribution (eventually consistent).
If you don't have massive scale, they're quite cheaper than self managing (infra itself and ops people involved).
Yes, these services require adaptation to your old habits of freely controlling your own servers.
As for vendor lock-in, even on EC2 you'll end up with some. Difficult to argue how much, there's no reproducible studies on that.
There are programming practices to minimize the costs of vendor switch as well.