Mostly depends on your region. Anyone using their us-east-1 zone is going to have a terrible time, and that's the one you usually hear about when people say "AWS outages". Overall they're very much reliable if you use other regions.Ironically, AWS does not have a good track record with outages.
As for the cost... idk. They're (really) expensive BW-wise, but everything else is alright enough if you manage to run on spot instances (and realistically, there's no reason you wouldn't be able to offload some ~80% of your compute on it).
Sure, on-prem is (much!) cheaper, but it also comes with many hassles, especially for large web platforms. Managing 1 on-prem server is fine, but managing 20, 50, 100, ... quickly gets extraordinarily tedious, and the generic fleet management tools on the market are essentially all painful at best. And you quickly miss a service discovery system, an IAM system, ... etc.*
Overall, unless your web platform has massive bandwidth requirements specifically, eventually it's probably not that bad of a deal if you put do it correctly settings-wise.
In our case, we do have specifically massive bandwidth reqs (last I checked their calculator, it quoted somewhere between $50-80k per month depending on user traffic sources for BW alone), so we don't use AWS, but I wouldn't be so quick to judge people that do.
*: All these exist in various forms as selfhostable options, but they're equally painful to deploy, maintain, backup, test, ... by yourself. It's doable, but you have to be ok with learning things the hard way all the time.