When to use C++ and when to use blueprints

I find that the C++ Tanks tutorial streams teach a good separation - all the actual logic resides in C++, and the front end is done in Blueprint. The front end encompasses animations, fine tuning of values through Blueprint child classes, UMG stuff, etc. It’s not really about performance, but more about maintainability and extensibility. Written code is far more readable, especially to other people or to yourself after two months, than the inevitable spaghetti of nodes Blueprint results in. It’s also a lot easier to make changes to down the road, since you don’t have to wrestle with splicing in nodes into an existing graph.