Some cofactors:

The distinction between cofactors, substrates and prosthetic groups are subtle - and therefore somewhat arbitrary.

update(05/05/05) : I don't know what snark is, and I don't know what they teach at chicago uni, but no the distinction is NOT clear. Cofactors do not 'attach' substrates to enzymes - what tripe! They are bound to the enzyme (covalently, in the case of coenzymes) and participate in the reaction.

I suppose that prosthetic groups are more of an 'intermediate' in this sense (or an extension of the enzyme itself) but cosubstrates are just as the name suggests - substrates. It is only when you look at the role a (co)substrate plays in metabolism that you can really distinguish it as a principal or secondary substrate.

NAD, for example, is used to transfer hydride groups to other molecules, and is recycled for this purpose. So you might think that this gives it a special status as a cofactor. This is entirely illusory. All small molecules are cycled and transformed in the constant mixture of circles and arrows that is metabolism. From the point of view of the enzyme, there is no true distinction between factors and cofactors.