Parâmetros não usados causam confusão. Não importa quais valores sejam passados para tais parâmetros, o comportamento do método será o mesmo.

Código em desconformidade

PROCEDURE do_something(a IN NUMBER, b IN NUMBER) IS -- "b" is unused
BEGIN
  compute(a);
END;

Código correto

PROCEDURE do_something(a IN NUMBER) IS
BEGIN
  compute(a);
END;