Games render with massive parallelism, and OpenGL is a GPU API graphics library o that allows programmers to write rendering code that target's GPU architecture. OpenCL can be used for example to write more generic non-graphics code that targets GPUs.
OpenGL's history is fascinating but to suffice to say. It's the produce of a budding and growing industry and the library is the result of trying to keep pace with rapidly evolving proprietary technology, and numerous other attempts to make improved standards. After many cluster****s and corporate nightmares, OpenGL was able to become something quite respectable, even if a somewhat fractured and warted standard. It's perfectly fine to write in, but going forward it's in less of a position to really take advantage of the newest architectures.
Vulkan is a fresh start that reevaluates how graphics libraries should be designed for modern GPU architecture. It forgoes a lot of backwards compatibility with cards that have no business seeing a flow of electrons. It has a huge advantage of hind-sight with respect to best practices. It's also lower-level to some extent, meaning it offers a more granular set of primitives that can be composed to fine tune rendering code to the implementors desire. Meaning it's a bit more laborious to work with, but the shader implementor will be able to better map rendering algorithms to the underlying hardware, and will be better able to make performance trade offs.
OpenGL is certainly less suited for the future of graphics code, but I also think part of the performance disparity has to due with Vulkan better targeting new hardware and simply being more worthy of the coders time when it comes to performance tuning.