У меня была только одна ситуация, когда я отключил предупреждение. Я считаю ошибки предупреждениями, поэтому обычно не выпускаю их с предупреждениями. Однако при разработке API для клиентов я столкнулся с проблемой, заключающейся в том, что в библиотеку должен быть включен метод, который требовался на этапе миграции одним приложением и который никто другой не должен использовать.
Лучший способ сообщить всем пользователям API, что им не следует вызывать этот метод, - пометить его как устаревший. Это, однако, означало, что один действительный вариант использования был помечен как предупреждение компиляции.
Эрик Липперт написал несколько постов о предупреждениях, где вы найдете информацию о том, как команда компиляторов думает о предупреждениях.
Внутренние поля Внутренних типов
Неиспользуемые директивы не помечаются предупреждениями