Используйте async/await для одноразовой асинхронной работы с единственным результатом (сетевой запрос, чтение файла); используйте Combine (или AsyncSequence) для потоков значений во времени — событий UI, текста поиска с debounce или непрерывных обновлений. Они решают разные по форме задачи, и современный код часто их смешивает.
