Brazilian Jiu Jitsu is superb in the arena for which it was codified, for small scale fights that is one on one bar room, and street fight type scenarios.
When applied to the MMA type combat arena, it is in its elements yet the effectiveness of any martial art is not in the techniques taught, but in the effectiveness of the exponent.
No martial artist is better than any other, though it is possible to say that one martial art is better suited to a specific situation like BJJ and street fighting. In a street fight, a poor BJJ exponent maybe in trouble, where as a superb Taekwondo fighter would be able to deal with the situation.
The key behind all martial arts is the skills set of the practitioner and the problem is the time it takes to become skilled in a martial art. Spending ten years studying an art only to realise that it isn’t quite what you wanted is a big problem.

As far as BBJ is concerned, there is no doubt that it is well suited to the MMA arena. It has been in recent years, the dominance of BJJ specialist is slipping. I believe that BJJ is a truly effective solution to a one on one fight scenario but in the current world, it should be augmented with other supporting arts.
No system is perfect and the key is for the practitioner to blend together the parts of multiple arts into a whole that suits them. It would take skills and years of intense training.
Self-defence is a very wide field and any martial art will be able to help a person’s emotional state. So, if you are looking for a ‘best bet’ solution, training in Brazilian Jiu Jitsu will always be a good bet.
Personally, I just don’t fold in the ways necessary in order to make BJJ work for me. I don’t have the flexibility and being in my 50s, it is unlikely that I ever will. I do have 35+ years of experience in a range of martial arts and found the ones that suited me.