Los atributos de CSS margin y padding, aunque en algunas ocasiones puedan comportarse de manera parecida en la práctica, son muy distintos.
Margin:
Es el margen que hay desde un elemento hasta los que tenga al lado.
Padding:
Es el espacio que hay en un contenedor entre el contenido y los bordes del contenedor.
Es decir, al especificar un margin estamos definiendo un espacio entre el una capa y las capas texto, imágenes u otros contenidos que haya a los lados.
Al especificar un padding en una capa, por ejemplo, estamos definiendo el espacio que hay entre el borde de la capa y lo que tenga dentro.