If you have winamp there are a lot of stations where you can find music in whatever style do you like.
It's called shoutcast Radio, and there are a lot of minoritary stations, a good start for discovering good music, then as the other people said, last.fm, pandora.com or directly going to any of the many netlabels on the net.
Now you can't say you don't have money to listen to your favourite music if you have a broadband connection.
Yahoo's LaunchCast Radio isn't bad for discovering new music, especially if you already pay for their internet service so you get better features.
I just download it... or go buy the cd and copy it to my computer and then to my ipod
The best site for music is obviously YouTube. You can find almost anything there. But the music loads with video and it might not be so good if you have limited data transfer. So may be you can load the lowest possible quality of YouTube music videos to listen to free online music online.
I also know of this another online free music service called Grooveshark (grooveshark.com). They have a great collection of music there. Almost all popular music as well as some great classics are found there. I enjoy that music site as well.
Then there are apps for your mobile which can stream online radio. I think the most popular one on Android is TuneIn Radio. You will be surprised by the amount of radio channels including your local stations in that app.
No doubt that the best site for listening music online is Grooveshark.com
They have almost every music album that I can think about - and most of the things I listen to is not mainstream at all.....