That replaces the SQL before it executes it. It is just like using literals. I wanted to use bind variables for performance testing purposes.
See the sql developer documentation:
Run Script executes all statements in the Enter SQL Statement box using the Script
Runner. The SQL statements can include substitution variables (but not bind
variables) of type VARCHAR2 (although in most cases, VARCHAR2 is
automatically converted internally to NUMBER if necessary); a pop-up box is
displayed for entering substitution variable values.
Notice the 'but not bind variables'