The check engine light on my '96 Sidekick came on a while back and the code checked out to be an EGR code. I changed the EGR valve (140 bucks, yikes!) and this shut the light off and helped me with the problem of it idling way too low at a stop.
I have a Spanish '9 8v Kick/Vitara, and the Check Engine light always comes on for the last 5 years

, usually after I drive it for 5-10 minutes. I also have the very-very-low idle problem, so when I went to the shop they told me that the problem code they see refers to a malfunctioning speed sensor inside the speedometer, which instructs the ECU to adjust idle rpms when you're rolling on downhills at idle (or something like that). I didn't fix it, as the complete instrument panel was way too expensive for me...
After so many years, it seems that I adapted my driving style to the problem, so I don't even notice it anymore :-) I just check that the light is off when I start the engine, just to make sure that the cause is not a new one :-)