Help to understand the KDM in SP800-56A, and the usage of "FixedInfo"
There is a couple of reasons one would want to do SP800-56A key derivation in real life scenarios.


Computational and communication cost - while it's true that for each usage the two parties could negotiate a fresh Diffie-Hellman shared secret $Z$ and use it to derive a session key, usually this process is computationally expensive and requires communication between the parties. More frugal approach is to do the key exchange once to agree on a shared secret and then do key derivation to derive shared keys for various purposes.
Shared secret is not a cryptographic key - most likely the shared secret the parties agreed upon is not suitable for use as a cryptographic key. Usually, secrets agreed with DH are too long and (when seen as bit strings) not uniformly distributed. For example, the result of a Diffie-Hellman process over $\mathbb{F}_p^\ast$ would be a number with length 4096 bits. One cannot use it directly as e.g. AES key because it's too long and using only a part of it as a key is an extremely bad idea. So we need to do entropy extraction and this boils down to key derivation.
Many derived keys are required - usually, we need more than one key in a system. E.g. we may need symmetric encryption session keys, maybe HMAC key for integrity protection, etc... The good practice is to use a different cryptographic key for each usage.
And in order to get the required number of different cryptographic keys from one "master secret" $Z$ we need key derivation. And here comes the FixedInfo parameter - it allows to parametrize the key derivation process and bind keys to their usages. For example, FixedInfo would contain the information about parties (so that we separate key derivations for different parties), purpose (so that we separate encryption keys from MAC keys), session (so that keys used for different sessions are different).


A drawback of the key derivation approach that is worth noting is that if the "master secret" $Z$ is compromised, all derived keys need to be treated as compromised as well.
On the other hand, compromise of any of the derived keys does not constitute a compromise of other derived keys or the master secret.