If you’re just serving static content then of course you can get away with one small box.
If you have user content that’s being constantly updated and inserted you need a lot more.
You need databases, caches, and in our case elastic search (with ~10 billion documents). The data needs to be indexed 16 ways to Sunday to make sure that a user hitting the page with this filter or that sort selects just the right records.
If you care about reliability you should have read replicas of your DBs as well.
Where are your logs going? I’d expect servers for that as well.
Now alternative to a bunch of this you could just use SaaS products but that costs an arm and a leg.