_>Бррр, повторяю в последний раз. Вся разница между синхронным и асинхронным вводом-выводом в том, что в первом случае поток ждёт завершения одной конкретной операции ввода-вывода, а во втором случае он ждёт завершения любой операции ввода-вывода данного приложения. Соответственно в том случае, если у тебя в каждый момент времени исполняется только одна такая операция, разницы между этими подходами не будет никакой (ну не считая накладных расходов на исполнение дополнительного кода по организации очереди в асинхронном варианте).
А если их выполняются тысячи на серверах?
Все таки асинхронность нужна прежде всего для серверов.
Для десктопа и мобильных приложений это прежде всего кроссплатформенность.
Xamarin.Forms (разные контексты синхронизации итд)
Ну и удобства. По сути Task это и есть замена потока. То есть с использованием асинхронности мы забываем, что такое поток, Sleep, WhiteOne (Delay, WhiteOneAsync)
и солнце б утром не вставало, когда бы не было меня