Sometimes, you are unsure if User Interface can respond within the given delay time. So, the Delay action may not be appropriate for this condition. We also remind you that if "Delay" is too long, it will cause the script execution to be slower. The best solution is to use “Wait” or “Wait for Result” to replace the Delay action. Those two actions are more dynamic compared to Delay. They will wait for your target screen to appear/disappear until they reach the timeout. When the target appears/disappears, the action will stop waiting and continues to execute the following action underneath. Unlike the Delay, when your Delay is set for 100 seconds, this action will continue delaying until 100 seconds, even if the target was there in 3 seconds.
Using Wait is better for the case mentioned above.
But there is nothing wrong with Delay. You might still need it in some cases. For example, if you just want to add a little break between actions to slow down the execution, then Delay is good to be used. For example: Add a delay before “Typing” to ensure that the focus is already on the target before starting to type.