Many of the answers here are really, really good. But the OpenGL and Direct3D (D3D) issue should probably be addressed. And that requires... a history lesson.
Birth of Conflict
One day, sometime in the early 90's, Microsoft looked around. They saw the SNES and Sega Genesis being awesome, running lots of action games and such. And they saw DOS. Developers coded DOS games like console games: direct to the metal. Unlike consoles however, where a developer who made an SNES game knew what hardware the user would have, DOS developers had to write for multiple possible configurations. And this is rather harder than it sounds.
OpenGL Ascendant
Thus the stage is set: Direct3D vs. OpenGL. It's really an amazing story, considering how bad D3D v3 was.
Dawn of Shaders, Twilight of OpenGL
Then, GeForce 3 came out. And a lot of things happened at the same time.
One Language to Ruin Them All
So, the OpenGL development environment was fractured for a time. No cross-hardware shaders, no cross-hardware GPU vertex storage, while D3D users enjoyed both. Could it get worse?
Falling Towards Apotheosis
While I maintain that 3D Labs struck the fatal blow, it was the ARB itself who would drive the last nail in the coffin.