There's a lot of music sources... Nothing's 'free'. You either pay for the service and get little or no commercials... or get commercials and offers and it's no charge to you other than having to listen to adverts.
Beyond that, there's lot of radio on the internet but there's different varieties... for instance, you can get a compressed stream of the same broadcast over the radio.. just go to your local radio stations website.. most major cities do this.
Then there's things like 'Launchcast' which is also a streamed broadcast by you pay $3/month for it and there are very few promotions, 99% music... and you get to customize your station to play only music you like. (this takes time because you have to 'teach' the software to pick your music as you listen)
XM and Sirius have there services available online as well.
As far as technology goes, all I've been talking about uses similar technology, streaming data. Even compressed it uses a good bit of bandwidth. It's compressed so it doesn't use all of the available bandwidth. (Think of bandwidth as data going through a pipe (network connection)... the pipe is only so big.)
The entire time you're listening, you're receiving the music file. You never download it, though.. it just streams. So, the smaller the file, the easier it is to transmit.
Sirius, XM, local radio, Launchcast, all do this... I have Sirius and notice that some stations get more bandwidth than others... so the quality is much better. They can alter this at any time. Different companies choose different levels of file size/compression to transmit their broadcast.
I would imagine the cheaper it is, the smaller the file and the higher the ad content. You gotta pay to play.

Anyway, if there's more advanced stuff than what I've mentioned here, please feel free to enlighten me/us. I have an audio PC and love to have the streaming stuff play while I'm doing housework. Launchcast in particular is awesome.
-C