Это слово образовано от глагола "уродиться" и изначально несёт в себе семантику внешних физических отличий от нормы: такой уж уродился, ничего не поделаешь. Но уродиться можно и с явными позитивными отличиями от большинства, и эта возможность семантического развития реализована в польском слове uroda "красота". В обоих случаях подчёркивается внешняя ненормативность, отклонение от нормы. А бранное употребление - это стандартный перенос значения по схеме "физический и ментальный недостаток, болезнь" > "негативная оценка", например: идиот (вспомним роман Достоевского!), дебил, даун и под. Только в названных словах перенос идёт по признаку "глупость", а в случае с уродом - "безобразие, некрасивость" (от внешней некрасивости к безобразию поступков).