If you're talking about expression, the difference between these terms is: a contig is an assembled group of sequences which form a "contiguous" sequence (where the name comes from), contigs can be assembled together to form scaffolds. Singletons are typically sequences which are represented by a single read and are not found in duplicate in a sequencing experiment, although I've heard some people refer to singletons as single copy genes represented in expression studies (ambiguities in terminology drive me crazy!)
I have issues with the word "tag" in sequencing experiments, so I can't explain to you the difference between what someone is calling a "uni-tag" and a singleton. I have seen the use of "tags" in the literature lately as a word-for-word replacement for reads (amplicon and whole shotgun sequences). I can't stand it's use as a replacement for "reads" as it leads to confusion with actual sequence tagging techniques (like in a BAC clone) and is more ambiguous than the use of the type of read (amplicon, whole genome shotgun, marker-assisted selection, etc.).