Both have there pros and cons. C++ is in some Things better, because you can write some Things in only 3 or 4 lines. With blueprints you have often two or three Screens of the same Code.
But on the other side blueprints are realy good. You can make a quick script press compile and it works and you see the result. You can later make the blueprint to a c++ class as well.
In c++ you can write your own functions and expand them to blueprints and so on. I think the best you can do is to work with both.
Blueprints have no Limits: as Long as the functions are expanded to Blueprints.
Here is a good document: