Resumidamente, a programação assíncrona permite o uso mais eficiente dos recursos computacionais se comparado com a programação "bloqueante" tradicional.
O principal recurso que se deseja economizar com a programação assíncrona são as threads, que têm um custo de memória, além do overhead de criação das mesmas (CPU). Ao economizarmos recursos, conseguimos tornar o sistema mais escalável.
Lembre-se: O objetivo da programação assíncrona é tornar o sistema mais escalável através do uso eficiente das threads.