Tags are very much like tags in other version control systems. Git and Mercurial and label in Vault. You would use them to identity a group of files that are a part of a build or a release. The tag must be unique.
Stamps are very much like tags in other contexts in the internet. You would stamp a group of files as 'Stable', or 'Valid', much like we tag posts on this forum. Think of it as adding attributes to a set of files. More then one set of files can have the same stamp.