WordCloud: do not eliminate duplicates
Make it render the same but be a different thing:
RawBoxes @ TagBox[ToBoxes[#], Unique@#] & /@ {foo, foo, foo} // WordCloud
Or shorter but less documented:
DynamicName[#, Unique@#] & /@ {foo, foo, foo} // WordCloud
lst = {"foo","foo","foo"};
WordCloud @ MapIndexed[Interpretation] @ lst
Also
WordCloud @ MapIndexed[DynamicWrapper] @ lst
WordCloud @ Map[Labeled[#, Invisible @ Unique @ #]&] @ lst
WordCloud @ MapIndexed[StringJoin[#, ConstantArray["\[InvisibleSpace]", #2[[1]]]]&] @ lst