If not set, the parameter mode is IN. However, defining it explicitly does make the code easier to read.

CREATE OR REPLACE PROCEDURE myproc(value VARCHAR2) IS -- violation
BEGIN
  NULL;
END;

CREATE OR REPLACE PROCEDURE myproc(value IN VARCHAR2) IS -- correct, the parameter mode is defined
BEGIN
  NULL;
END;