You can get the main motivation for glProgramBinary right from the horse's mouth (i.e. https://www.opengl.org/registry/specs/ARB/get_program_binary... ):
This is a very useful path for applications that wish to remain portable by shipping pure GLSL source shaders, yet would like to avoid the cost of compiling their shaders at runtime.