What is actually better (provide an explanantion) in Oracle 9i2, an IF...ELSE...END IF statement or a DECODE.

I've read that you should use decode instead of IF in some places and read that you should IF instead of DECODE in other places.

Some clarification for an oracle noob would be nice.