They are excellent for scripts that want to create commits: if you create a new worktree at the beginning, do your stuff there, and destroy it at the end, the script doesn't need to figure out if the standard worktree is dirty and for sure won't have its behaviour affected by ignored files.