There are several great apps, like mentioned above.
I also like WUnderRadio - it lets you stream 1000's of radio stations, like XM & Sirius, ShoutCast (with some of the SAME stations that Sirius / XM has, but for FREE), Radio Reference, Live ATV (airport traffic), Railroad radio, etc...