If you consider the comma as a separator, you use a comma between two items of a sequence to separate them, if you consider it as a delimiter, you put it after each item to indicate where an item ends. See the examples below:
Comma as a separator
var myCars = ["Saab", "Volvo", "BMW" ];
Comma as a delimiter
var myCars = ["Saab", "Volvo", "BMW", ];
foo(a, b, c) // separator, OK
is valid whereas
foo(a, b, c,) // delimiter, NOT OK!
is not valid.
As far as I understand, according to the wikipedia page a separator is a special case of a delimiter, namely one that is put between the different text regions whose boundaries need to be marked. In fact, the wikipedia page names comma-separated values as an example use of delimiters.
So, in general you can use delimiters in different ways: before, after, on both sides of the portion of text to be marked.
Another example of similar but different use of a character is that of semicolon as a statement delimiter (C, C++, Java, Ada, ...) and as a statement separator (Pascal). Therefore
if (a > 0)
is correct C code whereas
IF a > 0 THEN
WriteLn('Positive'); (* Syntax error here! *)
is no correct Pascal code.
Maybe terminator would be a better / less ambiguous term than delimiter?
E.g. one could formulate the quote as follows: "Some people get confused about how commas work. They think they should be item terminators rather than item separators. Now (in many cases) you can think about them either way."