Beim CREATE OR REPLACE kannst Du das vorhandene SQL Skript verändern und damit u.a. auch neue Spalten nicht nur am Ende der Feld-Liste sondern auch dazwischen implementieren.
Damit kannst Du z.B. das SQL Skript in einer ganz normalen Teildatei speichern, bei der nächsten Änderung modifizieren und anschließend mit RUNSQLSTM ausführen. (ganz ähnlich wie wenn man mit DDS arbeitet)

Beim CREATE OR REPLACE kannst Du mehrere Änderungen (neue Spalten hinzufügen und vorhandene Spalten ändern) mit einem einzigen Befehl ausführen, während Du pro ALTER TABLE-Befehl immer nur eine Änderung machen kannst.

Übrigens "under the cover" werden die Änderungen über CREATE OR REPLACE TABLE in ALTER TABLE-Statements konvertiert und dann einzeln ausgeführt
... also was mit ALTER TABLE nicht geht, geht auch mit CREATE OR REPLACE nicht.

Birgitta