Important note for RISC OS users please read the 'Specifics' section.
Description
These commands end script processing. The difference is:
quit()
If the user file is open, you will be warned.
If the call stack is not empty, you will be warned.
terminate()
Script processing finishes silently, with no warnings.
The difference is that quit() is the legitimate way to end a script, while terminate() is a drop-out method to be used upon handling an error.
Notes
Reaching the end of the script file is an implicit quit(). Under RISC OS this was considered not the correct way to finish, so you would be given a warning. This rule has been relaxed under Windows.
Specifics
YOU CANNOT USE QUIT() UNDER RISC OS - it quits !Teletext, not the script. You must use terminate() for both instances, and you will receive warnings for file left open, etc. There is currently no alternative.