I personally use mostly Blueprints for my Unreal-projects, unless its something that can't be done in Blueprint (nonexposed features, plugins w/o full blueprint-support), or can't be done in Blueprint elegantly (big algorithms, math problems, …).
I know lots of people will disagree, but I have a few reasons:
First, C++ in Unreal is so-so. While the boilerplate of their preprocessor/compiler for blueprint-bindings etc… is pretty neat, their C++ at core is very oldschool. No exceptions, no references being used, etc… means that more than all, error-handling in c++ is very tedious. Pretty much any object-parameter, you need to add a nullcheck to avoid a crash, and since there are no exceptions you have to sprinkle log-statements all over the place. That is just one example. But it doesn't feel very good working in Unreal-C++ (while i usually like c++, especially the more modern standards).
Secondly, I like many aspects of Blueprints. Being able to directly tie assets into the code without having to go through an “inspector” is a huge plus. Being able to “delay” or “task” certain things naturally without having to go through a delegate, is also nice. Personally, I also find Blueprints have many places to be improved upon - which I made a personalized version of in my own engine; but since not everybody has that luxus - using it in Unreal will be fine.
Though in the end, its really a matter of personal preference, and also who you are working with. One drawback of Blueprint in a multi-person team is that if not anybody is experienced with them, they will find it hard to read your “code" - though I 100% think that its only a matter of getting used to, not like some people claim that visual code is objectively harder to read.
I hope this gives you a few points to decide upon.
EDIT: For clarity - I use Unreal professionally at work, and my own engine in my free-time.