Depends on your needs. There are a couple of flavors of lossless audio compression that are highly recommended for long-term archiving, as they lose absolutely nothing compared to the original (except some of the file size). Problem is, virtually nothing aside from your computer will play them.
If your goal is to play your music on portables and car decks and everything else, then high-quality mp3 still rules. And you can get almost perfect quality with the correct encoding scheme.
For CD ripping programs, there are 2 best choices:
EAC (Exact Audio Copy)
CDex
EAC can be a bit more difficult to set up in some cases, and it also tends to rip a bit slower. But it has two notable advantages over CDex: 1) it has superior error-detection on old/scratched disks and will keep trying to get a good rip rather than just settling for one with errors and 2) when used with an external encoder, it can queue up encoding jobs so you can rip CDs as fast as you like and let the encoding jobs stack up to finish after you go to bed. Other rippers are linear and you have to wait for each job to finish in its entirety before you can swap CDs.
For mp3 encoding, there is really only one way to go: LAME using the internal preset --alt-preset standard
LAME recommended version
The definitive source for more information
Don't be swayed by the availability of other presets with impressive names like Extreme, they just add more bits for bragging rights and add nothing to the sound quality except in very rare cases that seem to involve certain delicate pieces of classical music and very expensive playback systems. Same thing goes for encoding at straight 320 kbps, it seems like a good idea but you miss out on optimizations that are only available in the presets, so straight 320s end up sounding worse as well as being twice as big.
Hope some of this helps.