In deferred shading all the material properties are rendered into the G-buffer, e.g. albedo, normals, roughness, metalness, etc. that are needed for BRDF evaluation. After this step shading is performed for pixels within light volumes using light and material properties as input to the BRDF. The problem with deferred shading is that more complex BRDF's (e.g. subsurface scattering or anisotropic reflections) can require quite a lot of properties which inflates G-buffer space and bandwidth requirements, thus it's important to have compact representation of the material properties.
Deferred lighting tries to address this problem by decoupling constant and non-constant BRDF terms, evaluating partial BRDF, and combining these terms in the second geometry pass. The properties needed for non-constant terms are rendered to G-buffer, and then partial BRDF is evaluated for pixels within light volumes whose results are written to diffuse & specular lighting buffers. These buffers are then combined in the second geometry pass with constant terms (e.g. albedo & emissivity).
The bandwidth issues of deferred shading has been addressed with tiled approaches though, which makes deferred lighting less of an interesting option, IMHO. Multiple BRDF's can also be supported in deferred shading but memory requirements of the G-buffer is still a concern (though diminishing one as GPU's have increasing amount of memory). Deferred lighting doesn't really have big benefit in memory savings either since most terms in BRDF's are not constant and having two passes over geometry adds quite a bit of overhead in more complex environments.