  We investigate the packing and covering densities of linear and nonlinear
binary codes, and establish a number of duality relationships between the
packing and covering problems. Specifically, we prove that if almost all codes
(in the class of linear or nonlinear codes) are good packings, then only a
vanishing fraction of codes are good coverings, and vice versa: if almost all
codes are good coverings, then at most a vanishing fraction of codes are good
packings. We also show that any specific maximal binary code is either a good
packing or a good covering, in a certain well-defined sense.
