A Brief History of Windows Audio APIs
----------------------------------------------
The following is my understanding and it may not be 100% correct -
ASIO was designed for low-latency, and so was WASAPI (which came-along later).
In practice, one or the other may allow lower latency, depending on the particular hardware & drivers.
ASIO is "more direct" to the hardware (WASAPI exclusive mode may be similar).
For example, if you have a regular-cheap Windows soundcard that only works at 48kHz you can record at 192kHz with the Windows drivers "secretly" making the conversion and you'll probably never know. Similarly, you can play high-resolution audio on any-old soundcard with the drivers making any necessary conversions.
It's similar to video/imaging... You can display a high-resolution image on a low-resolution monitor (or shrink the Window) or print it on a low-resolution printer and Windows won't complain or warn you that it's reducing the resolution.
ASIO will only allow you to use sample rates that the hardware actually supports so you won't be fooled.
----------------------------------------------
ASIO4ALL is not true ASIO... I call it half-ASIO... (True ASIO drivers have to be developed by the hardware manufacturer for the specific hardware.)
ASIO4ALL works along with your existing Windows drivers as a "translator" so your hardware "looks like" an ASIO device to your ASIO application.
In some cases it may be worthwhile to use ASIO4ALL with an application (like REAPER) that supports both protocols. But generally, you should use one of the Windows protocols if you don't have real ASIO drivers, as long as the application can use Windows drivers (and most Windows applications don't
require ASIO.)
It doesn't work the other way around... If you have ASIO-only hardware ASIO4ALL won't make your ASIO hardware work with Windows-only application.