Sniffing, Snooping, Spoofing

Sniffing and snooping should be synonyms. They refer to listening to a conversation. For example, if you login to a website that uses no encryption, your username and password can be sniffed off the network by someone who can capture the network traffic between you and the web site.

Spoofing refers to actively introducing network traffic pretending to be someone else. For example, spoofing is sending a command to computer A pretending to be computer B. It is typically used in a scenario where you generate network packets that say they originated by computer B while they really originated by computer C. Spoofing in an email context means sending an email pretending to be someone else.


@Dimitris answer is a good answer. I think the problem can be more clear with some example:
Sniffing:
Any eavesdropping on existing traffic can be called sniffing, for example you can sniff your own traffic using a network sniffer, I think the WireShark is a good tool for this purpose. WireShark does not change the packets and only capure them and display them, this is the meaning of sniffing.

Spoofing:
When someone(or something) try to introduce himself as another person (or another object), this called spoofing, for example there is IP Spoofing, DNS Spoofing etc
in IP Spoofing suppose person A send a packet with source address B not A (not himself IP address) to another host. this is a simple IP Spoofing.
And inDNS Spoofing A person tries to put his own IP address as the name of a victim host in the DNS server, this is also a simple DNS Spoofing

Hope it helps