Use async/await for one-shot asynchronous work with a single result (a network call, a file read); use Combine (or AsyncSequence) for streams of values over time — UI events, debounced search text, or continuous updates. They solve different shapes of problem, and modern code often mixes them.
