There are two ways for key change: key update, and Re-keying. Which of these methods use a KDF (Key Derivation Function) for getting new keys?
KDFs can be used for both: key update and re-keying. As a KDF is usually a Function like this: $KDF(Secret,DerivationParams)$, you can use it to derive keys from old keys (key-update) but you can also use it for re-keying as nothing prevents you from setting a new secret (by the means of the KDF). As there are some KDF that look like this: $KDF(Secret,Salt,Params)$ you can even do a hybrid thing, where you depend on your old key and add new entropy to the new key.