Мотивирует то, что быстро сделав противную работу, можно дальше будет делать то, что нравится или отдыхать.
Иногда мотивирует то, после рефакторинга хотя бы какая-то часть проекта стала лучше, особенно если из очень говеного кода сделал конфетку, например, убрав дублирование сразу во множестве мест.
Также стоит помнить, что заказчику нужен лишь конечный результат. Красота кода и архитектура - ему до лампочки.
Исправил как смог, чтоб работало на старых технологиях и ты свободен.
Перелопачивать весь проект с ног на голову себе дороже. Помни, что время не безгранично, и не круто - работать над говнецом все свободное время. Все мы когда-то умрем и твой охрененный код не будет никому нужен.
Тебя ведь не просили все перелопачивать? А только пофиксить бажок или добавить фичу. Вот и сделай только это.
Еще кстати очень важно - если проект не идет, то скорей всего тебе не хватает каких-то знаний. Возможно, конкретной технологии (может быть - старой, которую лень учить), или не понимаешь архитектуру проекта. Тогда надо сначала изучить это, а только потом менять код в проекте. Тогда работа пойдет гораздо легче с чужим кодом.
Еще можно устроить небольшое соревнование с самим собой: с помощью какого-нибудь Resharper или CodeRush найти в проекте самый говнистый класс по какому-либо критерию (например, самый длинный), выразив его сложность в виде какой-то конкретной величины = количества строк в данном случае. И постараться во что бы то ни стало уменьшить эту цифру. Забыть о всяких хотелках юзеров, а временно сконцентрироваться только на уменьшении строк, неважно каким способом (ну лучше конечно - выносом частей в другие классы).
Мотивировать будет реально измеряемое уменьшение длины класса, когда было 1200 строк, а стало 400.
Есть и другие параметры качества кода...