New to cryptology, studying key exchange I'm just getting an overview of some of the concepts in key exchanging at the moment, and I'm a bit disoriented on a few topics, namely key stretching, key derivation functions and perfect forward secrecy.

Regarding key stretching, I understand the idea is to make it more difficult to brute-force a password, but the materials I'm reading come a bit short on any kind of technical explanation.  The wikipedia article makes it sound like all it does is feed a plain text passphrase through a hashing algorithm.  If that's so, why differentiate between hashing and key stretching?  Does a salt count as a method of key stretching?  What are other methods?

About key derivation function, I understand the whole thing that there is a master key and session keys are derived from that.  But what is the specific application of key derivation?  Is it closer to key agreement (Diffie-Hellman) or key exchange (PKI)?  Can you cite a real-world example where I might encounter key derivation? (For instance, I know that if I wanted to secure a tunnel through IPSec, I might use IKE, which means I'd be dealing with Diffie-Hellman, which is key agreement.)

I think I'm pretty well grounded on Perfect Forward Secrecy; it's basically the diametric opposite of key derivation.  But I'm hazy on the difference between Forward Secrecy and Perfect Forward Secrecy.  What exactly changes the situation from FS to PFS?

I know these must be very basic questions for this forum, but I'm just getting my feet wet in the world of cryptology.
Key stretching usually means using a Password-Based Key Derivation Function (PBKDF), these are designed to be more resource intense than standard hashing, which is designed to be as fast as possible. A salt is used to prevent that two derived keys are differentely so that you'd need to brute-force each password independentely.
Usually you derive a key from a master secret if you negotiated a key beforehand and need a key for a cipher or a MAC. Key-Derivation-Functions are usually hash-functions with some slight modifications. A real world sample would be TLS, where you derive a key after negotiating a master secret using either DHE or ECDHE. TLS v1.2, see Chapter 5
There's no difference between PFS and FS other than naming. Wikipedia