Костыли в программировании -- что это такое

Костыли -- это неудобные, но работающие решения той или иной проблемы в коде программы.

Неудобные обычно в смысле трудности дальнейшего развития системы и относящиеся к плохому стилю.

Работают они как-то так:
костыли в программировании -- что это такое

Примечание: иногда (не так часто) делать костыли приходится вынуждено из-за чисто технических ограничений, например, существования разных браузеров, которые при этом и работают сильно по-разному.

Часто костыль делают именно как быстрое решение -- когда лень (+ отсутствие времени и/или навыков) не позволяет сделать что-то более продуманное и осмысленное.

Костыли обычно чужие -- не свои

Как говорит один уважаемый человек: костыли -- относительное и субъективное понятие, и обычно их замечают только в чужом коде (почему-то ;)
В своём же коде программист под воздействием таинственных сил часто ничего плохого не видит!
Этот феномен не разгадан до сих пор.

А что у нас в реальности

Большинство реальных программистов так или иначе, хотя бы раз в жизни "костыляли" свои программы -- то есть использовали быстрые, но неизящные решения, в связи с чем их (костыли) и отобразили на знаменитом гербе программистов.

Более того, некоторые программисты следуют только стилю костылей, практически не производя иных продуктов))

Как сервировать костыль -- и подавать в "правильном" освещении

Если хочется приподнести быстрое решение проблемы в положительном смысле -- назовите его хаком ;)