To build solutions I have to use the Amazon States Language, which is a learning curve and being as charitable as I can a royal pain in the ass. Ultimately I end up with a JSON file that is a "giant, flexible config file" for their runtime.
On the plus side, solutions using it are very nearly zero maintenance. No runtime updates, no package updates, no manual scaling, etc.
Another plus, it's zero cost when not in use. No VMs I have to pay for hourly or monthly.
The downsides (for me) are obvious: It's difficult to learn; It's very restrictive, and solutions often end-up needing some aspect of more flexible services like Lambda or Fargate (containers) when end-up adding cost and maintenance; It's proprietary and there is nothing I can use elsewhere (no other company support ASL as far as I know).
Overall, though, I love it. Why? I despise having to choose between unpatched systems and the drudgery of constant patching. With StepFuctions I don't have to choose.