margin/padding - дают отступы, на основе которых сместятся и другие элементы в потоке
position:relative - сместит текущий элемент, но другие элементы в потоке от этого не сместятся
В каких случаях правильнее применять тот или иной способ?
margin - когда нужен внешний отступ
padding - когда нужен внутренний отступ
position:relative - в подобных случаях почти никогда