Introduction
We use delays to pause actions in programs. Delay is for suspending without blocking, while Thread.sleep blocks the thread completely.
When you want to pause a coroutine without stopping other tasks.
When you need to wait in a simple program and don't mind blocking the thread.
When writing asynchronous code that should stay responsive.
When simulating a wait time in a background task.
When you want to freeze the whole thread for a fixed time.