The distinction to understand is that while an 802.11 device is transmitting to a receiving device, either one (or both) of these devices may not be the actual source or destination of the L2 traffic. So this can create situations where you need four different distinct addresses:
- Transmitter Address (TA)
- Receiver Address (RA)
- Source Address (SA)
- Destination Address (DA)
The BSSID of the wireless network may be the TA or RA, but it can also may be an identifier to associate traffic to a BSS. Unless the access point (AP) uses the same MAC address for the management interface and the BSSID, you generally won't have any traffic where the BSSID is either the SA or DA.
The use the address fields in an 802.11 header is tied to the To/From DS (distribution system) flags. Depending on how the To/From DS flags are set, this determines which of the four fields are required and what information each provides.
Here are a couple quick summary tables that I took from an IEEE document:
Let me add a couple of images to provide examples take from 802.11 Wireless Networks: The Definitive Guide by O'Reilly Press: