As you said, JAXP is an API for XML processing: parsing (SAX and DOM), transforming (XSLT), and dissecting (XPath).
SAAJ and JAX-RPC are web service APIs, with JAX-RPC operating on a higher level than SAAJ. SAAJ is sort of like a DOM API for SOAP messages, while JAX-RPC lets you work with a Java API to set/add/read parameters and results.
JAX-RPC is obsolete, though - you shouldn't use it for anything new. JAX-WS is the current high-level API for web services.
I think I recall having read somewhere that the XML binding in JAX-RPC is not as complete as JAXB, which is what JAX-WS uses.
Some items from the JAX-WS specification:
- Client-side asynchronous service invocations.
- Substitution of deployment descriptors with annotations.
- Support for message based session management.
- Development of handlers has been simplified.
- Supports the WS-I Basic Profile version 1.1, as compared to version 1.0 for JAX-RPC.
There are probably more, but at least you should have some more motivation to take a look at JAX-WS.