In some ways it is more like allowing the application developer to implement their own form of hyper-threading on the GPU - HT will try to split up incoming work in a way that better utilises the broad capabilities of the CPU - async allows the developer the ability to utilise the broader capabilities of the GPU when handling different types of workload - but if they get it wrong all sorts of nasty things can happen.
Yeah i like this Multicore CPU analogy.
Think of your GPU as a CPU, now think of Cinebench, a single core CPU will render one little square at a time, that is serial compute, an 8 core CPU will render eight squares at a time, that is parallel compute, the later is a lot faster than the former.
So, a HD6970 GPU a single shader pipeline, so it can only perform one task at a time, an R9 290X/390X/FuryX have 8 shader pipelines (ACE Units) it can run eight tasks in parallel.
The HD 6970 when asked to perform a task will put that task in a Queue until its finished with its existing task, this introduces latency and decreases performance, the R9 390X will have 7 free threads that it can use to perform the task, no latency.
But it doesn't just do this automatically, you have to program your project to make use of multi-threading.
I clearly remember back when multicore CPU's were introduced, you also had descending voices saying "this is too hard, its pointless, it doesn't make any difference" oh how wrong they were.
Personally i think developers who don't like this should keep their opinions to them selves, they should shut up, recognise it for what it is and learn how to use it because nay sayers of A-Sync are just showing themselves up as incompetent.