Scripts can much more than macros, but there are some things which cannot be done with scripts.
For example it is not possible with scripts to select a text from actual cursor position or expand an existing selection to end of a found string with a Find Select
like it is possible with macros which I often use in my macros.
On the other hand there are script commands and properties not available in the macro environment. See Scripting commands
for all available UltraEdit scripting functions and properties and Edit Macro command
for all available UltraEdit macro commands and their parameters.
An advantage of macros is that they can be quickly recorded and re-run to redo some commands on the current file. I use that very often. Scripts must be always programmed, they cannot be recorded. That requires programming skills and more time when just do something with the actual file and then the script is not needed anymore.
Scripts have the big advantages of support for variables, easy string manipulations in RAM and there is the possibility to work with the output window. Nesting of loops is also possible in scripts, but not in macros.
In scripts you can also easily add comments which is not possible for macros (except with a workaround). The source of a script can be also easily viewed and formatted with indentations and directly edited in the document window. That's not possible for macros (except with a workaround). The error messages are often better for scripts than for macros.
Scripts are really well when they are designed for a job which must be done daily, weekly or monthly especially when reports should be also created by the scripts. Creating reports with macros is not so easy, mainly because it is not possible to simply copy a fixed text into a clipboard without the usage of an edit window and because there are no variables (counters).
Scripts are also better when working on multiple documents at the same time because data can be modified in a document which currently does not have the focus. In macros the document/window must be always switched when data in another file should be modified or read.
Scripts are now better for complex jobs. But for simple tasks I would still prefer macros over scripts.