Margin - отступ элемента от соседних элементов.
Padding - внутренний отступ элементов от края родительского элемента. Если диву задать паддинг, то все элементы внутри будут отступать от границ дива на значение этого паддинга.
И там и там есть нюансы, но в целом оно так работает.