border занимает место в блочной модели элемента и влияет на его размеры. outline рисуется поверх элемента, не занимая места и не влияя на его размеры.
border может иметь разные ширины и стили для каждой из четырех сторон (border-top, border-right, border-bottom, border-left). outline применяется ко всей границе элемента целиком.
border может быть скругленным с помощью border-radius. outline нельзя скруглить.
outline часто используется для обозначения фокуса элемента (:focus) с целью улучшения доступности.