Понимание-то может и есть, но когда надо "код, быстраа", обычно
никто их на бумажке не рисует. И как можно чаще диаграмму состояний стараются свести к цепочке, в чем очень сильно помогают A+/Promises (с которыми в C++ почти плохо).
Но опять же да, чистые промисы не очень хорошо реализуют бесконечные циклы обработки сообщений, поэтому их приходится разворачивать во что-то более вразумительное.