Staining is used mostly with cells, both bacterial and eukaryotic (i.e. animal or plant cells) for better visualization. Stains can increase contrast and highlight particular features. For example, you can use stains to better view the nucleus of cells or their cell walls for clear identification of the boundaries of a single cell.
Here are some of the functions of stains listed in the above question:
Carmine - colors animal starch (glycogen), red.
Coomassie Blue - stains proteins a bright blue
Eosin - a counterstain to haematoxylin, this stain colors red blood cells, cytoplasmic material, cell membranes, and extracellular structures pink or red.
Hematoxylin - a nuclear stain that, with a mordant, stains nuclei blue-violet or brown.
Iodine - used as a starch indicator. When in a solution, starch and iodine turn a dark blue in color.
Methylene Blue - stains animal cells to make nuclei more visible.
Stains are mostly used on dead cells that have been preserved in some way, but some are usable on living cells as well.