What I'd like to know is why some tracks at 128 sound OK and some sound terrible - really messed up (fluttery?) in the top registers - cyblas, sybylants in the vocals etc.
If you want a REALLY geeky answer, email me and I'll send you a bit of coursework I wrote last year on digital compression and how it affects what we can actually hear (and got an A for no less). Otherwise here's the quick and dirty...
MP3's use compression algorithms to make music files physically smaller in size (that bit you already know). They do this by getting rid of the "least important" parts of the information within a recording. And depending on what settings you use to compress to MP3 (Bit rate, sample rate, mono or stereo etc.) depends on what data is lost and how it will affect the sound...
On the face of it, MP3's are very clever, as for the average person they allow lots of music, to be stored very readily in easy to access devices, whilst taking up a whole lot less space than uncompressed files would. An MP3 compressed at the highest quality possible (320KBPS constant bit rate, 44.1KHZ, Stereo) still loses about 78% of the original file's data (leaving a file approximately 22% of the size of the original) but leaving for the most part, all the important bits to you and me. In fact, for most people, on most audio systems, you can't tell the difference between an uncompressed WAV and a 320KBPS MP3 file. You certainly need a better quality sound system than your average car has fitted, or laptop speakers or ipod earphones reproduce.
But listen to a good reference system, and you will hear that there is a loss of bass depth, and less stereo imaging goes on with a 320KBPS MP3. A very little price to pay for most people, but once that data is gone, it's gone.
So most people think "well, 320KBPS is fine, and the file is still quite big, what about if I go down to 192, or 128?"... Hence losing more data...
Well a 128KBPS compressed file you'll still struggle to tell the difference over your laptop speakers, or on the average car stereo, but on anything better it will sound like a fairly poor quality reproduction of the original. Lots of data now having been lost.
Go lower, 96, 64, 48 or even 32KBPS, and the sound quality becomes to be a bit of a joke!
Who decides what data is removed and how do they apply it? Good Question! The "MP3" tag is owned by the Moving Picture Experts Group, so I guess people who work there decided on it. How do they apply it though?
Well, as a Human being, we can typically (on a good day) hear everything in the range from about as low as 20Hz right up to 20KHz. I say on a good day though, cos that implies several things. We are still quite young (our hearing deteriorates with age), the equipment we are using is up to the job of accurate reproduction, the environment is conducive to being totally flat tonally and some other aspects which will be too boring to go into detail about. But suffice to say, our environment is NEVER perfect.
Firstly, most systems most people listen to their music on can't reproduce anything below about 50Hz (sometimes 80 even) so they'll just throw the bass away, or just limit it massively. The same is true up at the 15KHz+ range of the frequency, so that data will just disappear all too often. Then they pick out key ranges in the spectrum that are left. People hear certain frequencies better than others, so often the ones we can't hear as well are just deleted, or turned down. Then there's sometimes frequency clashes where you've got one or more frequency playing at the same time, an MP3 algorithm will just choose the dominant one to stay put and ditch the others. It's all quite complicated, but at the same time very clever and can be quite useful.
In answer to the question though, some music will naturally lend itself better to being compressed than others, simply because of the data that is going to be chosen to be omitted...
Moral of the story is though to NEVER buy your music as MP3's if you give a stuff about sound quality. I still buy everything on CD. I'll happily then rip them all at 320KBPS for playback on my iPhone, in the car, on the laptop etc. But I still have the CD's for playback on proper Audio Systems if and when required.
But to answer the OP's original question. Anything will be better than you have now, but I wouldn't go and spend a massive amount on an Audiophile DAC. I'd look to pick up something like an external USB powered Soundcard from the likes of Tascam 2nd hand on ebay for under £100. It'll be plenty good enough for anything you may want to use it for, and more besides, but will also retain its value when you decide to upgrade. I use a Tascam US-144, great bit of kit, also allows me to hook it up to record things directly to the computer too should I need to.