Task { } обычно наследует actor/приоритет/task-local значения; Task.detached стартует без наследования контекста — отдельная корневая задача.
Разбор
- Detached опаснее для UI: легко забыть hop на MainActor.
- Используйте detached для действительно независимой работы.
- Отмена родителя не отменяет detached автоматически так же, как structured children.
- Чаще хватает обычного
Task или async let/task group.
Итог
Detached — явное отвязывание от контекста; применяйте редко и осознанно.