Best practice is to capture as close to how you want it to sound, at a good level. That makes everything else easy and leaves "mixing" to adjusting levels and pan and reverb and other such ear candy.
If the track's level is too low, for whatever reason, either the gain knob or normalizing can be used to raise it higher. Either of those have the same effect, raising the entire signal, peaks and noise. Compressing, well, compresses the internal dynamics of a sound, squishing the differences between the loudest signal let through and the softest part, including noise, esp. if you have to raise the output level on the comp. Compression evens out the signal differences between the loudest and softest parts of said signal.
Normalizing isn't supposed to be a normal, everyday tool to make up for bad tracking techniques, but a tool to fix problem tracks. That said, if your process involves normalizing everything to make mixing easier since every track as loud (lead guitar, kick and triangle), that is fine, but seems to me the long way around and is a way to introduce unnecessary noise.
However, gain staging is mostly an analog problem in driving a signal hard enough to overcome inherent noise without saturating or distorting. Once it is in the computer you can raise a signal or normalize or compress it w/o needing to introduce any artifacts or adding noise (you'll just be raising up whatever is already there). For me, if the captured signal needs more level to work into a mix, I'll use gain for a little bump, but normalize when I need more than a couple of dBs of gain.
@