In experimentation, you have two types of variables. The ones you are willing to control (e.g., design factors) and the ones you are not (e.g., noise). A covariate is one way to handle measurable noise. There are other ways to handle noise in an experiment (e.g., RCBD, BIB, repeats, replicates, split-plots).
"All models are wrong, some are useful" G.E.P. Box