Потому что из-за перехода по goto может нарушиться стек вызовов и время жизни переменных и объектов, что вызовет непредсказуемое поведение программы.
То есть, нужно очень хорошо понимать, зачем вы делаете goto и вкуда и через что конкретно он приводит.
В частности, goto может быть применен для быстрого выхода из вложенных циклов по условию. Однако, нужно убедиться, что это действие не приведет к побочному эффекту (утечка памяти, разрушение стека).