I found a this great analogy on how MSMQ works
URL : Full MEssage
"MSMQ works similar to how USPS works.
You
write your letter, write in address (queue format name), attach stamp
and put it into your mail box with raised red flag (send the message
using MSMQ).
Your
mail (message) then sits in this mail box near your house (outgoing
queue). Note at that point you can get address wrong on your letter
(bad format name), however that won’t stop you from putting letter into
mail box (sending it).
OK,
so later one mail man comes (network connection is established). Mail
man picks your mail (MSMQ connects to the destination server) and if
everything is OK it goes through the system (network) and ends up in
receiving mail box (destination queue). Recipient (your application on
the server) don’t have to be near (don’t have to be running) this mail
box (queue) for mail to arrive.
At
some point somebody (your application) opens mail box (application on
the server reads from the destination queue) and gets mail.
What
could go wrong here? Well, you can get address wrong. Mail man can
never come (no network connection on device). Destination might be
inaccessible, say avalanche blocked the roads (server is down or no
network path to it) or there’s civil disturbance and it’s blocked out
by the police (firewall or security configuration prevents connection
to the server).
Another thing: I’m not absolutely sure, but you might have to install web server and configure MSMQ ISAPI DLL for SRMP to work."