IMO, a sound card usually isn't necessary unless:
-your motherboard doesn't have the connection you require (optical, coax, etc.)
-you have very high end speakers or headphones that require an amp to drive properly
-you have exceptional hearing
I have pretty decent headphones (Sennheiser 485's) and a pair of DIY speakers that I'd put up against ~$300 retail speakers any day of the week. They both sound great to me using on board optical output to a home theater receiver. IMO, the money for a sound card would be better spent on speakers, headphones, amp, etc.