You want to send "metadata" along with messages.
You need to send routing information.
You want to use the fault mechanisms of SOAP in error responses.
You need to send multiple documents and don't want to use multi-part POST mechanism.
You're doing RPC on the web and so you don't really have a document.
Someone else says you "must" use SOAP.