It automatically serializes and deserializes RPC parameters into a form that can be transported across the wire. This enables programmers on both ends to make RPCs with the same syntax used for local procedure calls. In a message-passing paradigm, however, you think in terms of a document, not procedure parameters. A document normally lives much longer than just the lifetime of a remote procedure call, and is often formatted to be human-readable. EDI is a well-known example of doing business transactions by passing text files representing those transactions.
Messaging changes the code written on both ends of the pipe.
The code isn't hard to write, but it is different. In BizTalk SDK, the Plug-In Generator Kit removes some of the tedium of parsing and pulling parameter values from the message. You can do each the other way, but you're usually better off playing to each paradigm's strengths. Choose asynchronous messaging if clients can wait but need isolation from factors such as unreliable networks, unavailable resources, peak loads, and complex internal workflow. Choose synchronous RPC if clients need to know the outcome immediately.