OpenGL is not simply a library; it is a specification for an API to interact with your graphics hardware. The implementation of this specification is shared between your graphics hardware, the drivers for that hardware, and the OpenGL software library you choose to use. As a result, the exact behavior of your OpenGL-based code might be slightly different depending on any of those factors, just as, for example, the same HTML code might be slightly differently rendered in different web browsers.
OpenGL is also a versioned specification, meaning that the available features and recommended usage of OpenGL changes depending on which version of the specification you're targeting. As new features are introduced and old features deprecated, the best practices and recommendations also evolve, so that code written for OpenGL 2.x systems may look nothing at all...