the only place to get free legal songs by professional artists is to listen to the radio
other than that www.allofmp3.com is extremely cheap (around 5 cents a song, 1.50 per album) and you can pick what format you want it in (mp3/wmv/flac/ogg whatever bitrates you want)
and they have tons of music, anything i've ever wanted (and believe me, i listen to not well known artists like godspeed you black emperor, mogwai and bardo pond for example. they have all of their music)
Well if you're on your PC and want to listen to music, you could download Winamp Media Player for free http://www.winamp.com and use SHOUTcast http://www.shoutcast.com to find and choose one out of 14,000 online radio stations you'd like to listen to...
...Listening to '.977 The Alternative Channel' righ now streaming at 128Kbps.