Unknown attributions:
Not using a parameter usually indicates a bug
Not necessarily. You often want to design a procedure or function with a spare parameter to cover future extension, and probably document that it shall be called with that parameter zero. The actual procedure code has no reason (today) to use the parameter.