Data race - неопределённое поведение из-за одновременного доступа к памяти без синхронизации (баг). Race condition - логическая ошибка: результат зависит от порядка выполнения горутин, даже при корректной синхронизации (например, проверка и затем действие без атомарности). Оба - источники сбоев.