PBKDF2 and HKDF serve fundamentally different goals. PBKDF2 is a password hashing key-derivation function: it takes a low-entropy human password and, with a unique salt and high iteration count, stretches computation to slow down brute-force attacks. HKDF, on the other hand, is a key expansion mechanism built on HMAC; it assumes you already have a strong, high-entropy input keying material (IKM) and lets you derive one or multiple cryptographic subkeys for different contexts.
In practice, if your input is a user password, use PBKDF2(or better, a memory-hard function such as Argon2) with a per-user salt and a sufficiently large iteration count. If your input is an ECDH shared secret, a random master key, or any other high-entropy secret, it is appropriate to apply HKDF (extract then expand) to produce purpose-scoped keys. Avoid feeding raw passwords into HKDF; and avoid using PBKDF2 for key expansion when you already have strong key material.
Try: PBKDF2, HKDF, HMAC-SHA256, Random