Thank you for the information.

Scripting is available any time the out-of-the-box capabilities and features do not meet your needs and you need to go beyond the pragmatic configuration (e.g. drag and drop, filling in fields, etc) to create more complex business logic. A quick example of this would be: When a change request is completed, send a message to the assigned to person on all related problems and incidents. That capability doesn't exist out of the box. It could be fulfilled by scripting, or now that I think about it, Flow Designer would work well in that case.

Any time you need to add a manual trigger (UI action) to a form or list, scripting is required.

Scripting is often required with integrations as well. Many people don't need to do this if they are just doing standard field mapping from the import set to the target table, however some data manipulation may be required (e.g. incompatible date formats).

Hope that helps.