В программировании есть правильные методы проектирования систем и написания кода. Они называются паттерны и Best Practice. Которые позволяют создавать надежные, гибкие, расширяемые системы. Не запутаться в ней после какого-то уровня сложности. Комфортно работать в группе где у разных разработчиков разный опыт. Поддерживать систему другой команде разработчиков, нежели ее создала... И много всего еще хорошего. Так писать программы правильно. Но если система небольшая и заведомо одноразовая это несколько добавляет трудоемкость. А если такого сорта система "была нужна клиенту вчера" (фигурально, сроки на ее разработку "по человечески" уже прошли), то писать ее правильно - ну это путь к тому что она просто будет никому не нужна. Поскольку одноразовые системы обычно и нужны к какому-то определенному моменту.
Мораль написания этого узкопрофессионального текста в вопросе явно не из области программирования. Даже на абстрактный вопрос нередко можно найти конкретный ответ. Стоит только его проанализировать. Вот только такой ответ будет скорее всего скучный и не разу не возвышенный. К сожалению. Я предполагаю что автора интересовали жизненные ситуации когда "ум" против "сердца". Но кто же знает что "правильно" в таких вещах?!