- If your script will take longer than 10 seconds to execute, you MUST make it external. It won't work embedded as this is a limit.
After deciding to do a complete clean setup and removing and adding all my devices, it was very helpful have external scripts. When you remove a device, the associated triggers and schedules will go away too. If your scripts are external, you still have to set up the trigger/schedule, but the more logic that is in the external script, the less work it will be.
External scripts can be configuration managed with a git or other versioning tool. If you're going to be doing any scripting, I highly recommend always using something. Nothing is worse than adding a bunch of changes over a few days to find things go work great anymore. While time machine and other backups help too, a versioning tool gives you a lot more flexibility.
I still have some short (< 7 line) scripts that are embedded. I usually keep copy in the Notes app in case I ever need to recreate.
Any other thoughts on when to use embedded vs external?