To understand what a coenzyme is one must first understand what an enzyme itself is. The standard definition of an enzyme is "a protein molecule that is a biological catalyst" as defined by the University of Elmhurst Chemistry Department. What this means is that enzymes are able to speed up biological reactions so that they can occur much more quickly than they would under normal conditions. Enzymes can do this in a number of ways, which leads to a lowering of the overall activation energy required for the reaction to occur.
This brings us back to the original question of what is a coenzyme? The standard definition of a coenzyme is that it is an organic molecule that is required by an enzyme to facilitate its activity. Some enzymes require a coenzyme in order to function biologically. In other words, some enzymes are not able to speed up reactions without the presence of a coenzyme. Coenzymes come from non-protein sources, an example of which is vitamins. This is one reason why vitamins are key to health. Hope this helps!