Тут все очевидно - хороший сделает надолго, а к посредственному нужно будет снова обращаться за ремонтом. Если окончил институт по такой профессии, то не значит, что сразу все сможешь. Опыт надо иметь.
Код хорошего программиста лучше оптимизирован, более надежен. Кроме того, хороший программист производительнее, пишет более понятный для других программистов код.
По-моему мнению тут 2 отличия существенных.
1) хороший спец пишет код так, чтобы его мог понять любой человек + он может объяснить почему он выбрал то или иное решение
2) хороший спец сам решает задачу, а не ждет от кого-то