Hola:
Pues basicamente la diferencia del if con el case es que a este ultimo se lo utiliza para preguntar los multiples estados que pueda llegar a obtener una variable y en cada caso haga una accion.
por ejemplo, este seria un ejemplo de CASE:
SELECT CASE x
CASE 1
y = 10
CASE 2, 3
y = 20
CASE IS > 5
y = 100
CASE ELSE
y = 0
END SELECT
y lo mismo te tocaria hacer con un if para cada uno de esos casos, pero recuerda que el case sirve solo para preguntar sobre el estado de una misma variable, en el caso del ejemplo la X.
Saludos.