If I decide to use an existing engine, I do not need to learn the low-level stuff, maybe not even C++.
You will still need a programming language. C++ is as good as any.
What I suggest you do is evaluate some of your options. Dont worry if these are not the exact technologies you want to try. This is research at this stage.
Try building a simple cube platform jumper using the following tech.
1) Irrlicht - To try out a basic open-source 3D engine (use Ogre 3D if you prefer)
2) OpenGL - Have a look at implementing what you have just created in Irrlicht without using a graphics API directly (use DirectX if you prefer)
3) UDK - Try out a commercial engine (use Unity 3D if you prefer)
Once you have implemented all of them. Run them all and decide which one you have the most enthusiasm to extend and use to implement your next project.