There is OpenGL and Direct3D so you dont have to program using the interfaces the GPU drivers would give you. It has to be higher-level than the API on a console cause it has to work for many different GPUs.
The API is the way it is, but normally you write wrappers around its objects ....so you wont see its arcane functions all the time.
Heres a good presentation, ...he talks a lot about why is openGL good/bad. (and rants a lot too).
BTW if you want to see a change you are free to talk to the ARB memers and/or be there on the meetings.