reflect даёт возможность в runtime исследовать типы и значения: поля структур, методы, теги, элементы слайсов и т.д. Используют для сериализации (например, JSON), валидации, копирования по полям, dependency injection. Плата - сложность и меньшая производительность по сравнению с явным кодом.