I have grown to agree with the OP to some degree. After trying to make a complex game work with blueprints we had to move almost everything to C++ and now just use them for data setup and configuration.
The reason C++ devs really dislike blueprints, isn’t that they are bad, but rather Epic is totally neglecting C++ developer support in favor of pushing blueprints. For example, trying to setup EQS in C++. There are no examples I could find, almost no docs (class docs are there IF you know what they are called), and we are stuck trying to guess how to use the C++ API by looking at how the blueprint node is implemented in the C++ sources. That’s not cool.
If there were parity, i.e. every blueprints example had matching C++ example code, there would be a lot less angst.