The XML or JSON Query Block is almost the same as the Remote Query Block, (RQB) except it can send any kind of text-based body, such as XML or JSON (you could also send url-encoded form data if you wanted since that's also a text format, but it would probably always be easier to use the RQB in that case). 


Contrary to the XML or JSON Query Block, the Remote Query Block can only use query parameters or (for POSTs) url-encoded form data.


The XML or JSON Query Block also has more limited response capabilities than the RQB, and the most common use case is to store the whole response in a single variable and then parse the response in Javascript whereas when you need a value from an RQB the most common use case is to specify Xpaths and have the RQB's code parse out any values you need.