That's a tricky one, it depends greatly on the programmers experience.
DBPro is the sort of language you can get results from right away. A lot of very complicated and time consuming work is already done for the programmer, like collision, occlusion, garbage collection, string handling etc etc etc. The bottom line is that without an option like DBPro, a lot of people just wouldn't get anything done. Really to be a programmer you need good math skills, no matter what language you're using - but with DBPro you don't need anything more than you'd learn in high school. DBPro is for people who don't have the ability, time, or patience to make their own game engine, there are sacrifices but again, it depends on programmer skill. Really there aren't many Indie games out there that couldn't be made in DBPro.
C++ takes a lot of learning, then some more learning to unlearn the bad habits you've learned along the way!
It lets the programmer take full control over things, and most importantly optimize code. The OpenGL component is optional, because OpenGL is wrapped in numerous forms, and C++ can just as easily use DX as well. In the background, GL and DX both work very similarly, and the actual visual qualities will be decided by shaders, so really I think it's more about C++ vs DBPro.
I'm probably not saying much that you don't already know - C++ is more complicated and faster, but DBPro takes no time to learn, and on modern PC's there should be no concern about speed. I have made a game in DBPro for PC, and in C++ for iOS, and that might be more interesting to you.
Besides being 2 different platforms, 2 different languages with their own rules, the actual game logic is the same... so much of C++'s mystery is just syntax... I'll say that C++ programmers have no right whatsoever to look down on other languages. C++ can be just as messy and unruly as BASIC. The game logic isn't really the concern, it's just logic - stuff that people can learn really quickly no matter what language. The tricky stuff is when you have to do something unique. In my game I have a water plane, like a 2D water effect with waves that react to sprites dropping in, splashes etc etc. It's a 2-way array check, with the logic being the same on PC or iOS, but displaying the water is completely different on each system. On the PC with DBPro, the water is a segmented plane, like a curtain that gave about 80 control points to make the waves etc. I made a model then used the vertex adjustment commands in DBPro to set the water. In C++ with OpenGL on the other hand, I made a custom water rendering function that used an OpenGL vertex array and triangle strip instead... so in OpenGL the wave is rendered from scratch with it's own special function, and is probably 2 or 3 times faster than the DBPro object method.
If the programmer has the skills and the project warrants it, then C++ is the sensible option, but there are several flavors of C++ - you can even use DBPro's library in C++ with DarkGDK. C++ is the lowest level anybody really goes these days, it's always gonna be the best option in the long run - but only if the programmer can deal with it.
DBPro lets the programmer get stuck in - I've written games in DBPro over a weekend.
Personally, I like C++, but I still choose higher level languages over it. You know when you have to walk the same path over and over, like the walk to school for example... it get's to the point where you can't remember the walk, your brain just switches off until you get to the destination... well I'm like that with DBPro. If I have an idea, by the time I get to my PC it's half-coded already, DBPro is so quick at prototyping it's a no brainer to use it for that at least. Sometimes you get an idea that you just need to see happen - and DBPro is the language that shows me stuff happening quickly. If I was studying game development in college I'd opt for C++ every single time, but for my hobby and indie development I prefer the straightforward attitude of DBPro and AGK.
Moreover, even if I was using C++, I'd still prototype everything in DBPro first - C++ demands that you have a rough idea of what you want to achieve.
I am the one who knocks...