São coisas diferentes. Veja o seguinte exemplo
<html>
<head>
<style type="text/css">
.main{
border-width:1px;
border-style: solid;
width: 720px;
margin: auto;
text-align:center;
}
</style>
</head>
<body>
<div class="main">
<p>Meu texto aqui</p>
</main>
</body>
</html>
Aqui eu tenho uma div com uma classe chamada main, e dentro dela, um paragrafo com o texto
No CSS, o width e o margin informados vão centralizar a div na horizontal. O conteúdo vai ficar alinhado a esquerda.
O text-align vai centralizar o texto dentro desta div
Se você pegar este exemplo, e apagar o margin, vai ficar mais fácil de entender a diferença