Coenzymes are
organic molecules that are submembers of the broader group of activator molecules called
cofactors. Their primary function is to supply
enzymes with reactive groups that aren't part of any
amino acid side chain.
Enzymes are composed of a folded chain of amino acids. There are more than two dozen of these things, but the varying side chains that differentiate each amino acid aren't always enough to provide reactant material for certain reactions. Coenzymes solve that problem by providing what the side chain lacks.
Coenzymes can be further divided into two varieties, cosubstrates that loosely bind to the allosteric site of an enzyme and prosthetics that tightly bind (one might say prosthetics are really just part of the enzyme, since they're almost always there). Coenzymes are often reused in multiple reactions to activate apoenzymes, since in that way Nature conserves energy (nothing pisses Nature off more than wasted energy).