"что-то другое" зависит от конфигурации tokio::main
?
Вы из какого языка в целом пришли? Просто если брать типовой пример, который хорошо ложится на любой язык с асинком - то есть веб-сервера - то сразу понятно, зачем оно там. Понятно, если понимать, зачем вообще асинк нужон.
Стандартная конфигурация сервера: родительский поток и N потоков-исполнителей. Каждый запрос серверу направляется в один из потоков, дальше поток пакует его в футуру и время от времени поллит на предмет исполнения. Если уже исполнился - возвращает. Внутри футуры могут происходить аналогичные действия - пошли в базу, сделали запрос к другому сервису, etc - передали управление другому запросу на том же потоке. Таким образом засчёт передачи времени ожидания другим запросам, типичный асинхронный сервер может обрабатывать больше запросов, чем аналогичный по конфигурации или более сложный синхронный. Асинк легковеснее полноценных потоков/процессов, Асинк удобнее очередей.
Тут из контрпримеров разве что Elixir и его "миллионы" микропотоков, но там свои архитектурные особенности.