Key reuse refers to using the same key for more than one purpose, e.g. to encrypt two messages or to encrypt and authenticate a message. Some cryptosystems (such as the one-time pad or many stream ciphers) may be vulnerable to attacks if keys are inappropriately reused. In some cases, using different but similar ("related") keys may also be problematic.
Common ways to avoid problems arising from key reuse include deriving multiple pseudo-independent keys from a single master key using a key derivation function (KDF) or using unique initialization vectors or "tweaks" to differentiate uses of the same key.