I'm using the GL and GLext units included with FPC as standard. They are working perfectly for me, and I'm programming and targeting OpenGL 4+ only.
Just curious... Why would I need other OpenGL header translations? ie: dlgOpenGL?
If you only use Windows or Linux, and never plan to support MacOS, there is no need to use any other translation. However, for me the appeal of Lazarus is the "Write Once, Compile Anywhere" nature, and these other libraries support modern OpenGL on MacOS. One other point, in my experience I can get much better performance using only the modern Core features: while the legacy features of immediate mode are supported, they tend to bog down the rendering. So having a library that helps you determine which features are not available in Modern OpenGL is useful for writing optimized code.
1.) GL/GLEXT:
Pro: Comes with FPC as default library.
Con: Unable to support modern OpenGL on MacOS
2.) dglOpenGL:
Pro: can run modern OpenGL on all platforms (Windows, MacOS, Linux)
Con: some have criticized X dependency
http://mantis.freepascal.org/view.php?id=290513.) glcorearb
Pro: hides legacy OpenGL functions and constants, ensuring that you do not accidentally include them. This makes it easier to write software that works on all platforms (Windows, MacOS, Linux)
Pro: can run modern OpenGL on all platforms (Windows, MacOS, Linux)
Con: Hides legacy functions and constants, so Windows and Linux users can not mix and match old functions (e.g. immediate mode) with modern code. Note that due to the MacOS Core specification, Mac users must choose EITHER legacy or modern versions, they can never mix and match.