If the value1 is not NULL, then return it; otherwise return the value2.
You can use expressions, variables, functions, and literals in NVL, as long as both variables are of the same datatype
SQL> declare 2 v NUMBER; 3 begin 4 v:=nvl(v,0)+1; 5 DBMS_OUTPUT.put_line('New value: <'||v||'>'); 6 end; 7 / New value: <1> PL/SQL procedure successfully completed. SQL>