Probably because OpenGL is not 100% available on all the platforms that Java is available for.
So, for example, Java3D has bindings to both DX and OpenGL to provide a layer of abstraction.
Thats a lousy excuse. You implement an OpenGL binding and a DX binding, then do your renderer abstraction in Java. Xith3D does that, 'cept it uses LWJGL and Jogl.
Also, each of the bindings is intended for a different type of usage and different audience. For example, jogl doesn't support VR caves or VR goggles (does it?) while Java3D does. Jogl is low-level and high-performance, while Java3D is high-level and low(er) performance.
Thats the difference between direct bindings and using a scene graph, and a totally separate issue.