I mostly agree, but I get stuck on this sometimes:
publishing a DVM event, listening for a reply, paying the invoice, and then publishing the result is slower than a traditional API.
It's a tradeoff in that an API requires setup, login, credit card info in order to have "faster" calls.