Выделенный сервер - это одна фиксированная железка, с определенным фиксированным объемом ресурсов. Платите вы всегда одну и ту же сумму, доступные ресурсы можете использовать частично или полностью - не важно. Если начнется нехватка ресурсов (или, что чаще, какого-то одного конкретного ресурса - RAM, CPU, FS etc), будет большой головняк - искать возможность довоткнуть нужное железо или заменить, или вообще покупать новый сервер и переезжать и тд. В случае поломки железа сайт отваливается целиком, ибо сервер перестает работать.
AWS, он же облачный виртуальный хостинг, дает множество преимуществ:
- платите только за те ресурсы, которые вам реально нужны и вы использовали
- при необходимости можно легко масштабировать ресурсы, при чем по отдельности - отдельно RAM, CPU и тд
- файлы на block storage, при наличии бекапов в случае поломки какого-то железа downtime минимальный
- можно (и для крупных проектов нужно) строить многосерверную архитектуру, разделяя балансировку нагрузки, фронт, статику, бек, базу (базы), АПИ, логгирование и мониторинг и тд и тп
- можно практически все автоматизировать - развертывание в случае поломки железа, downsclaing / upscaling в случае изменения потребности ресурсов и тд
В общем, это совершенно разные вещи. Что вам больше подходит - надо смотреть в конкретно вашей ситуации. AWS однозначно гибче, мощнее и тд. Но есть и минус - этим всем нужно управлять (и уметь это делать).
Как альтернатива AWS, есть еще Digital Ocean. Тоже гибко и удобно, дешевле, сильно проще в управлении.