Очень часто код пишут не одни и те же люди. Даже в случае, когда код писал один разработчик в течение, например, пяти лет, за это время его стиль мог значительно измениться.
Это я к тому, что порой поведение программы, связанное с изменением старого кода, может оказаться совершенно непредсказуемым, поскольку в какой-нибудь древней библиотеке, которую этот код использует, написан какой-нибудь комментарий вида "Этот метод не будет работать, если аргумент x равняется y". Во многих случаях этот комментарий в следующий раз увидят, когда уже всё будет сломано.
На самом трогать то, что работает плохо, безусловно, надо. И даже то, что работает хорошо,, но плохо написано. Вот только делать это надо аккуратно, внимательно и не забывая покрывать тестами. Иначе через какой-нибудь длительный период времени проблема может всплыть в самом неподходящем месте.
Хм, а почему код, если вопрос задан в общем?🤔