Update:
The line could also be .item(it)=X. It does not matter which side of the assignment you reference the item in the dictionary.
It does matter.
In the case x=.item(it) or c00=.item(it) the item is empty, and the .items property of the dictionary doesn't return anything. So only the property .keys is available; and that is the purpose of the code exactly (and nothing more)
In the case .item=x the item isn't empty. The property .items will return an array although we don't need or use it for our purpose. So the .items array is redundant.
without collection/dictionary:
sub M_snb()
For Each it In Array("Banana", "Apple", "Orange", "Tomato", "Apple", "Lemon", "Lime", "Lime", "Apple")
if instr(c00 & "|","|" & it & "|")=0 then c00=c00 & "|" & it
Next
unique_items=split(mid(c00,2),"|")
End Sub