У тебя 100 файлов. Каждый копируется по 5 секунд.
Если ты будешь копировать их по очереди - это синхронное копирование файлов, которое займет не менее 500 секунд.
Асинхронное копирование - это копирование нескольких файлов за раз. Например, группами по 5 файлов. Каждая группа будет копировать по 10 секунд, а все вместе, следовательно, 100/5*10 = 200 секунд.
Асинхронное копирование не всегда дает выигрыш. Но чаще всего копирование нескольких файлов за раз эффективнее.
Есть и еще бонус. Если есть один огромный файл и много маленьких. Если ты начнешь копировать большой файл, то не дождешься маленьких файлов еще очень долго.
Но если копировать асинхронно всего в 2 поток, то параллельно первому огромному файлу можно успеть скопировать все маленькие и уже что-то начинать с ними делать на том конце, не дожидаясь первого огромного файла.
Идея асинхронности в том и заключается, что некое действие разбивается на маленькие этапы и эти этапы запускаются одновременно. А там - кто первый дойдет к финишу, тот быстрее освободит ресурсы для следующего в очереди.