Unit является синглтоном и используется как тип возвращаемого значения для функций, не возвращающих никакого значимого значения. Это аналог void в Java, но в отличие от void, Unit является реальным типом.
Nothing — специальный тип, указывающий, что функция никогда не завершится нормально (например, выбрасывает исключение или запускает бесконечный цикл). Его можно использовать как тип возвращаемого значения или тип свойства, которое никогда не будет иметь значения. Является подтипом всех других типов в Kotlin.