Direct3D and OpenGL are both low level graphics APIs that, in their modern form, are for all intents and purposes intefaces to the underlying 3D hardware. As such, all this stuff of buffers, pipelines, primitives and so of is very much a reflection of the common theory and practice of 3D rasterization, things that is certainly not a Microsoft or DirectX specific way of doing things.
I think a big mistake beginners make is that they choose to dip their toes into 3D graphics with no real grasp of the underlying concepts, a mistake which is further compounded by choosing possibly the lowest level API that you'll ever use for 3D rendering. This of course results in a big "WTF!?" moment when you decide to take a peek at the docs or online tutorials because suddenly you're bombarded with not only API-specific stuff but also universal rendering concepts thrown in for good measure. I know i was certainly left utterly baffled when I first started out, and this was in the days of the (relatively simpler) fixed function pipeline.
I think you need to have a think about where your interests lie: if you want to learn the low level nuts and bolts of how things appear on the screen then be prepared to do a lot of extra curricular research and learning about the mathematics and concepts of 3D rendering in general as learning the API specifics should really just be housekeeping. If you want to get things up and running as painlessly as possible to make games and the like then IMO a higher level API/engine would be a wiser investment in time as you can add the low level stuff to your repertoire at a later date..