`Dispatchers.Default` is for CPU-bound work. `Dispatchers.IO` is for blocking I/O (DB/files/network clients that block). `Dispatchers.Main` is for UI. The key rule: don’t block `Main` or `Default`; move blocking code to `IO` using `withContext`.