I've toyed around with worktrees but haven't found them very useful beyond that. I generally find it much easier to carefully prompt an agent so $TASK1 does not interfere with $TASK2
I tried them a while back and they were more annoying than anything. The only real use-case I have for them is stashing long-running changes that are not ready to be committed... but really probably should be anyways.