原因
MDNのドキュメントから:
[マージンプロパティ]は、テーブルキャプション、テーブル、インラインテーブル以外のテーブル表示タイプの要素を除くすべての要素に適用されます。
つまり、marginプロパティは要素には適用できませんdisplay:table-cell。
解決
border-spacing代わりにプロパティの使用を検討してください。
display:tableレイアウトとの親要素に適用する必要があることに注意してくださいborder-collapse:separate。
例えば:
HTML
<div class="table">
<div class="row">
<div class="cell">123</div>
<div class="cell">456</div>
<div class="cell">879</div>
</div>
</div>
CSS
.table {display:table;border-collapse:separate;border-spacing:5px;}
.row {display:table-row;}
.cell {display:table-cell;padding:5px;border:1px solid black;}
水平方向と垂直方向のマージンが異なる
DiegoQuirósが述べたように、このborder-spacingプロパティは2つの値を受け入れて、水平軸と垂直軸に異なるマージンを設定します。
例えば
.table {/*...*/border-spacing:3px 5px;} /* 3px horizontally, 5px vertically */