The technologies you mention cater to different aspects of an application and cannot replace each other. There is no good comparison between them.
JOGL: Java alternative to OpenGL. Open Graphic language is used to tell a graphic card hardware to draw graphics. Graphics card driver is written using C/C++ . Java programmer cannot call those C/C++ routines so easy. ( Of course Java has a huge Graphics library and you can draw pretty much anything on screen using pure Java. But it is a tedious job and will run slow on your CPU, making no use of Graphics hardware). That's where JOGL comes to rescue, it translates your Java instructions to OpenGL instructions that your Graphics hardware understands.
JavaFX : Java alternative to Flash. Its a newer platform. It's an effort to increase Java's grip on client side where Flash is used for almost all interactive web content. Its similar to flash in design but is more organized. It uses Java for programming. It allows non changing UI elements to be described in XML files. The API contains advanced functionality like shapes, transforms, animations special effects etc. New JRE's now have JavaFX runtime so it runs in your browser like flash. JavaFX will have strong competition from HTML 5 and flash, if it ever made it to mainstream web front-ends.
JavaFX vs JOGL : this is not a sensible comparison, JavaFX uses JOGL for hardware accelerated graphics.
JavaEE : Is Java API for enterprise, Server side, You don't use JavaFX and JOGL here.
JavaSE: Is Java API for general purpose desktop apps, browsers, front-end. You use JavaFX and JOGL here.