These proxies track call state, and can provide rich sets of services based on this knowledge. Once a session invitation is accepted, the proxy forgets about it. When the session termination arrives, the proxy forwards it without needing to know about the session. Finally, stateless proxies exist in the core. The SIP protocol provides facilities to ensure that the response can be correctly routed back to the caller.
Stateless proxies are very fast, but can provide few services.
Call-stateful proxies are not as fast, but they live at the periphery, where call volumes are lower. So, they've learned to design in support for extensibility from the outset. SIP has numerous mechanisms to support extensions. It does not require everyone to implement the extensions. Facilities are provided that allow two parties to determine the common set of capabilities, so that a session initiation can always be completed, no matter what.