Async makes awaiting things much easier than other primitives in the language. So for instance if you both need to wait for stuff to happen on a socket or some event happening, async select makes that super easy.
You can also keep async relatively local to a function that does these things and is itself blocking otherwise.