Your appeal to authority is based on references(Chris Hecker and John Carmack) who were commenting on the state of Direct3D over 10 years ago! Chris Hecker's article discusses execute buffers, a feature in Direct X version 3! John Carmack's .plan is from 1996. Comparing DirectX 3 and DX9 is just silly. The API has drastically changed. Right around DX9 it was doing a better job of exposing the underlying hardware than OGL. As of 2003(the last time I used OpenGL) OGL had all these vendor extensions, which meant you had to write different versions of your code(and your shaders!) to work on different hardware(e.g. NV_VERTEX_PROGRAM/NV_FRAGMENT_PROGRAM was nvidia only, and you needed different code for ATI). They finally came out with ARB extensions that worked on all hardware. Also both Nvidia and ATI had separate extensions for uploading geometry to the GPU for a while. It was a total pain.
Here's one random example where DirectX has more helper functions than OpenGL. DirectX has built in support for Quaternions: http://msdn.microsoft.com/en-us/library/bb281611(VS.85).aspx
OpenGL does not(you would need to use a custom library). Built in font rendering is another example. You have to load bitmap fonts in OpenGL.