Or when you need anything more than to run a few very basic services ( like a PHP app with apache and mysql).
AWS have managed services for a lot of different things, which save a lot of time on maintenance. Object storage? Message queue? Any type of database? ML? etc. etc. etc.
And of course, there's the scalability. With on-prem it's a careful balancing act of buying enough capacity to have space to expand but not too much to waste it, and you have to regularly keep an eye out lest you hit a limit with multi-week lead times ( e.g. you're out of storage, and buying a new shelf can take weeks to be usable).