Decode and Case functions (Oracle)

Hi,
I have been working on Oracle for quite sometime now. I have always used the DECODE function that represents IF-THEN-ELSE clause. I read somewhere that from Oracle 8i onwards CASE statement has been introduced to get the same result. But which one out of the two is better considering both are used to do the same task?
