Here is how things might go wrong with covariates: Say you have a main treatment variable of interest, maybe a dummy variable. You are really interesting in significance of that variable. Now, say you have 10 covariates, each of which can either be in out of your model, leading to 2^10 = 1024 possible models, each of which also contains your treatment variable. Each model gives a different p-value for your treatment variable, so now you have 1024 p-values. An unscrupulous or ignorant researcher might take the smallest of those 1024 p-values, and call that the "evidence" for the treatment effect.
It should be clear that this smallest p-value out of the 1024 is too small, leading to an inflated type I error rate.
Even if you don't think you are looking at that many p-values, in reality you probably are because I would imagine that your are using some automatic variable screening analysis that looks at all those models implicitly.
With 20 covariates there would be over a million p-values, and the problem would be much worse.
The Bonferroni solution would be to use .05/1024 instead of .05 to determine significance of the treatment variable in the first case, and .05/1,000,000 in the second. Seems a little extreme.
Thanks Michael for the nods. I guess I could envision a resampling solution here, but it's a little nonstandard. Certainly, you'd want to take care of the extremely high dependencies among the p-values, and resampling would do that whereas Bonferroni would fail (as mentioned above, it's pretty darn conservative). The applications in our book were for more standard multiple comparisons in ANOVA or MANOVA. We did deal with covariates, but we assumed they were pre-selected, not either in our out of the model, and thus not the source of the multiple comparisons problem, as is the case here with the original question.
Current research by Brad Efron and others on "post-selection inference" might be best way to go here.