For me, it’s when things become related to visual assets and what artists might need to modify. So, when setting up the C++ base classes, you’re focusing on functionality but then creating the BluePrint, you start attaching meshes, materials and the likes. Doing in Blueprint makes it more accessible to the Artists so if they change the mesh assets, they can update them in BP and test their changes without asking developers to do the work for them.
There’s also the aspect of the speed to make certain changes as well - changing visual things shouldn’t need a recompile.
This is a personal preference however and you may want to do things differently.