dt is the name of your variable. In the first example your DataTable does not have a name.
So imagine that you would add your DataTable to a DataSet. In the first example you could only access the DataTable in the DataSet by its index, since you have not provided a name for the actual DataTable. You only have a variable name which lets you reference it.
In the Second example you have named your DataTable "customers". If you would add this to a DataSet you could access the DataTable in the DataSet by asking for the "customers" DataTable, rather than its index.
So for examples:
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.DataTable dt1 = new System.Data.DataTable();
ds.Tables.Add(dt1);
ds.Tables[0].Clear();
System.Data.DataTable dt2 = new System.Data.DataTable("customers");
ds.Tables.Add(dt2);
ds.Tables["customers"].Clear();