Tiago, o valor auto ele tem reações em contextos diferentes e conforme a propriedade que esta sendo usado.
Um exemplo com margin que você citou ele vai apenas deixar automático a dimensão daquela propriedade.
Não vai preenche necessariamente, pois vai depender também do contexto.
Por exemplo em outra propriedade como o overflow: auto;
Ao invés de definir se vai ter scroll ou não, dependendo do contexto com a propriedade auto ele define se mostra ou não ao invés de forçar que sempre apareça ou que nunca apareça.
Com a propriedade height de altura por exemplo ao invés de fixar um valor em px ou então em % ou qualquer outra medida possível, o valor auto deixa automático essa dimensão da altura para o contexto do objeto com a propriedade height.
Resumindo um pouco, sobre o valor auto.
Alguns links de discussões legal para ler:
https://stackoverflow.com/questions/4471850/what-is-the-meaning-of-auto-value-in-a-css-property
https://www.w3.org/TR/css-values-4/
http://unmatchedstyle.com/news/a-to-z-css-auto.php
Espero ter ajudado com sua dúvida, indico fazer pesquisas sobre o assunto de box-model e também sobre os valores e medidas que existe no css.
Bons estudos