Some of these answers are pretty funny ("...if you want your song to be louder, record more instruments" "...only a mastering engineer can make your song as loud as a commercial CD")
The subjective loudness of a song has nothing to do with where the peaks are, and everything to do with how loud the average level of the material is.
Let's take an example:
You have a song with an occasional really loud transient (maybe a snare) that peaks at -1dB (using a full scale VU meter where 0 is the max). But almost all the rest of song is hovering around (-16)bB.
Now, if you normalize, guess what? You only gain 1dB overall. Now the transient will be at 0, and the average program will be at (-15). Big deal - you've gained almost an imperceptible amount of volume.
The trick is to squash just the peak transients without affecting the rest of the song, if possible. You could do it by going in and drawing down the waveforms of the transients, but the easiest way is just use a limiter. By clamping down on just the transients, you can make them 5dB softer, 10dB softer, or however much you dare before it starts to sound like shit.
The result? Now you have 5dB (or 10 dB or whatever) of brand new headroom, which means you can raise the WHOLE volume of the song by that amount, making your song every bit as slamming (or at least as LOUD) as anything on the radio. In our example, if you used a limiter to create 6 dB of headroom, now the average program material will be hovering around (-10dB) instead of (-16dB), which will sound subjectively about twice as loud!
Will it sound as good as if it was professionally mastered? Of course not! But it can certainly sound as loud!
And you won't have to go back and record more instruments. (heh heh

)