A covariate is an independent variable that the experimentor is not interested in, while a between subjects factor is the idependent variable of principle interest. Covariates are sources of unwanted variance that cannot be eliminated. Since you can't eliminate covariates you have to measure them so that you can control for them. Gender and IQ are good examples of covariates: they can be measured but you can't alter a person's gender or IQ. However, IQ and gender are both potential sources of confounding variance.

A between subjects factor is an independent variable that can be manipulated. Usually an experimentor is interested in the effect of between subject factors on some dependent variable, while controlling for the effect of covariates.

For example, let us suppose we are interested in the effect of two different text books on how well students do in a course. The dependent variable is final mark for the course. You can randomly assign which text book each student gets but you can't randomly assign gender or IQ. You want to test for the effect of textbook, controlling for the confounding effects of IQ and gender. In other words, what is the effect of textbook type on final marks, independently of IQ and gender?

In statistics you always wanted to keep sources of variances as small as possible. In an ideal world only the factors of actual interest to the experimentor would vary and one would be able to keep all other factors constant. However, for most studies, especially in human populations, it is not possible to eliminate all sources of variance. These unwanted sources of variance are the covariates. My stats lecturer once said: "If you can't eliminate it, measure it".

Phil