Маржа применяется к внешнему элементу, что влияет на то, как далеко ваш элемент находится от других элементов.
Заполнение применяется к внутренней части вашего элемента, следовательно, влияет на то, как далеко содержимое вашего элемента находится отborder.
Кроме того, использование поля не повлияет на размеры вашего элемента, в то время как заполнение сделает размеры ваших элементов (задать высоту + заполнение), поэтому, например, если у вас есть div 100x100px с отступом 5 px, ваш div будет фактическибыть 105x105px