What is the diffences between? when is better one or the other?

I assume you speak about LWJGL and JOGL inside JMonkeyEngine 2.0. Personally, I use JOGL and sometimes I fix some bugs in the JOGL renderer. I like JOGL very much but I have to admit that the JOGL renderer is currently not as stable as the LWJGL renderer inside JMonkeyEngine. I have used JOGL for 2 years and I find it more stable than LWJGL outside JMonkeyEngine especially under Linux but other people say that LWJGL is as stable as JOGL outside JMonkeyEngine.

JOGL 2.0 is not finished but it allows to develop OpenGL Java games that work both on mobile phones and desktop PCs (without tinkering or switching between JOGL and JOGL-ES). It is not used in JMonkeyEngine 2.0 but it is going to be used in Ardor3D as this engine targets Andro

Gouessej is correct, our support for LWJGL is a little more complete than it is for JOGL at this point. But the cool thing about jME, is it tries to make it transparent to you the developer as which renderer you are using. You can always switch from one to the other, usually without changing any code. It comes down to a matter of preference.