SDP originated for announcing multicast sessions, and it serves that task well. It was not originally intended to deal with unicast sessions, but it works well enough in the context of SIP and RTSP. It was certainly never intended to be a content negotiation mechanism, because it lacks any clean way to group different options together into capability sets. Although it can serve this role, when it does so, the limitations of its original design purpose start to show through somewhat.
SDP is in widespread use in SAP, SIP, H.332, and RTSP, and has even been proposed for use in the context of advanced television.