You understood everything wrong. OpenGL was the first to come out. It is a low-level API that controls the GPU and such. You can work with it directly from C/C++. The name comes from Open Graphics Library.
LWJGL is a binding of OpenGL to Java, so you can use OpenGL without having to mess with unmanaged C code. The name comes from Light Weight Java Game Library.
Slick2D is just a library that may use OpenGL as its backend to support accelerated 2d graphics.
Edit: Against what other people said, read here: http://slick.ninjacave.com/ LWJGL does not use Slick2D, Slick2D uses LWJGL. And if I'm not mistaken, you can use other OpenGL bindings for Java on it too.
Slick2D is just a framework, it needs some way to get the graphics working, for this it uses a OpenGL Java binding. In this case, LWJGL. You can use LWJGL alone, but it's highly recommended that you use Slick2D too, because it will be much easier to deal with things, since OpenGL is just too broad, it will give you the tools and only this. Slick2D uses this tools to focus all them on accelerated 2D rendering.