Every time I google for covariance I end up reading Eric Lippert's blog. It has an awesome seria of articles about covariance and contravariance. It is very old, it was written in 2007, but still useful when you don't know how to explain the variance to somebody who doesn't know how it works for delegates or generic types.

Anyways, his blog is awesome, any developer can find something useful there.