When GL_NORMALIZE is not used, if we scale an object (along with its normals) with a positive factor (bigger object and longer normals), the object appears darker.
I’d expect larger normals to have a bigger cos(lighting angle) term in the lighting equation, thus making objects lighter.
So why is it the other way around?
(I’m using OpenGL v1.1 via JOGL)
Normals are not handled like normal points when it comes to transformations; they are transformed using the inverse transpose of the matrix used to transform points, and with the translation components removed. For the fixed pipeline this is handled automatically by the GL.
For scaling this has the effect of scaling the normal with the inverse magnitude. Thus making an object bigger with GL_NORMALIZE off has the effect of making the normals smaller in magnitude, and so the lighting calculations result in darker colours.
As for why normals are transformed this way, this page explains it adequately. Also this one.