The line output of a cassette deck is usually well matched to the line input of a sound card. I don't know of any cassette deck that sends the signal from the heads out without amplifying and equalizing it to the standard line input level. Although you can also do it through an amplifier or receiver, the tape loop used by the amp is usually just a routing convenience, and does not add gain. I have recorded numerous cassettes to CD running directly from a good quality cassette deck to the line input of my laptop computer. A walkman will also work all right, but make sure you have all the bass boost and junk like that turned off, and don't turn the volume up too high.
There are some freeware programs that can handle this job, as well as commercial ones. The one I use is called Cakewalk Pyro, which I bought a couple of years ago at Staples for about 40 bucks. It allows you to record the input to a wav file, then to chop it into tracks using a graphic display. There is some noise reduction, pop and hiss filters, etc. for records and tapes, and various other basic editing features, and the program can handle the CD burning as well. The recording is done in real time, as is any post processing, so it can be a rather lengthy process, but it can be done unattended for the most part.