* Note: Although all methods described below can separate Shoutcast streams into separate files, if you are trying to record a stream that does not include song titles (i.e. Wolf FM) then you will get one big-ass file.
via Winamp - two plugins make this very easy:
1) Jon Clegg's Streamripper
2) Oddsock's SaveCast
Jon Clegg's plugin was first implemented as a dsp plugin but is now a general plugin. Oddsock's plugin is a dsp plugin. For reasons I don't really care to explain, I suggest using Jon's plugin. The linked web pages should have everything you need to know... if they don't post your question in the forums.
via QCD - the mp3 input plugin that comes with QCD makes this task a snap, and with a few extras that the Winamp plugins don't have... durational ripping: either by time or by number of songs. The configuration of QCD's mp3 input plugin is pictured below. As usual if you have questions, ask away in the forums.
via Streamripper - this is a stand alone program originally pioneered by Jon Clegg. Oddsock has modified Jon's open source (GPL) code a bit, so you may want to check out his version too. I have no preference between the two. Once again, the linked web pages should have everything you need to know... if they don't post your question in the forums.