Specular lighting is proportional to the cosine of the angle between the reflection light ray and the vector to the eye, raised to a power (the shininess).
This is computed by reflecting the light source vector about the normal and then taking the dot product.
Increasing the exponent - the GL_SHININESS value - makes the specular highlight smaller by causing the specular intensity to fall off more quickly.