SDP is older than WebRTC by twenty years and was originally written for the SIP family of protocols. WebRTC reuses it because the problem hasn't changed: before two peers can exchange media, they need to agree on which codecs they support, what bitrates are acceptable, which ports to use, and how to authenticate the encrypted streams.
An SDP message looks like a small, line-oriented document. Each line declares one fact: this peer supports the Opus codec at 48 kHz, this peer wants to receive video, this peer offers the following ICE candidates. The two peers exchange offer and answer SDPs through whatever signaling channel you've set up, and once both sides have the same picture, the media connection can be opened.
Most engineers never read SDP directly because the browser API hides it. You start seeing it when something goes wrong — a codec mismatch, a missing m-line, a transceiver that wasn't set to send-receive — and the only way to diagnose the problem is to look at the offer and answer side by side.