Difference between SOAP RPC and SOAP MSG Protocol


What is the criteria to decide that a webservice should be implemented using SOAP RPC or SOAP MSG protocol?
Do the protocols have advantage over each other?

Criteria 1:

Do you plan to ever provide your web service to environments that may not use webMethods IS to consume the service?

Criteria 2

Do you care whether your service implementation follows best practices recommended by the WS-I Basic Profile 1.0 or later?

If you answered “yes” to either of these two questions, then you should expose your service using document/literal style SOAP messaging.

A quick search in this forum, will turn up more details on the rationale behind this.