Yup as Ol' Smokey says the motor from your wipers can be deadly to a compass, as can the speakers from the stereo. Needn't be terminal though, you can re-magnetise it your self (see video) or a good outdoor retailer should be able to do it for you.
[video=youtube;GuIkvUTxYdU]http://www.youtube.com/watch?v=GuIkvUTxYdU[/video]
If it's a case that the oil has leaked out of the case then the needle will always be slow to settle, and will also oxidise over time causing further problems. Some compasses have replaceable housings though the non ferrous retaining clips can be fun to manipulate! Sometimes with a less expensive compass it's worth while biting the bullet and just replacing the whole thing.
Another thing that can cause problems with compasses that can escape your notice is those magnetic bracelets that some wear for arthritis. Will throw it off big style. Couldn't understand why one class of slightly older walkers I was teaching could navigate perfectly on paper in the class but wandered all about on the hill. Some were wearing those bracelets and it took a while for me to figure that that was the problem.
I always keep my compass well away from stereos, personal radio and mobile phone and if transporting in a vehicle keep in in the boot away from any rear speakers. Also periodically check it against known north. If the polarity has been reversed you can navigate just as almost as easily though there is a little mental arithmetic involved.
On the buying a better compass I'm all for spending a little on a decent compass. (You don't have to go mad though). I mainly use a
Sliva Expedition 4 which will set you back around £25-30. Has a decent sized base plate with some very useful roamers on it.
For more exacting work I'll turn to something like a
Silva 15DCL 360 or a
Suunto KB series though the later is maybe a bit more specialised for surveying/forestry.
It depends on what you're doing and as I say you don't have to go mad. I also tend to carry at least one other cheaper compass as a back up if I'm going to be navigating across larger distances or difficult terrain especially if bad weather is expected and good compass work is to be expected/needed.
A lot of folks have gone to digital compasses, and though they have their place they have a few drawbacks; the batteries can die, they tend to be jittery and not as simple to read in conjunction with a map. So although I have one on my Suunto watch it's rarely used bar to find north quickly when I go to a new place. The other features that come with it like altimeter and barometer are much more useful to me.