Sniffing is a technique that is used to observe the traffic on a network as it makes its way from sender to receiver (and back in many cases). Sniffing allows you to capture traffic either in real-time, and distill it through the use of filters, or it can be captured and saved to a file for later analysis and processing. Sniffing is a powerful technique for gaining information about a network and the devices on it, which in turn can be used as a foundation for later activities based on the results achieved.
Notice that I refer to sniffing in the first line of this paragraph as a technique for observing traffic moving across a network. This is an important detail that I feel may be subtle and needs to be pointed out accordingly. Sniffing itself should never be considered something used for performing attacks, lest we become stuck in our thinking that...