USPS Money orders can be cashed at the Post Office. Even Walmart won't cash their own MO, so they have to be deposited into your bank and they can still 'bounce' weeks after they 'clear'. So holding them for 5, 7, 14 days does nothing to guarantee they are good. As for Western Union, I think they may cash their own Money Orders, but there isn't a Western Union office in every podunk town, so they have to be deposited into your own account and run the same risk as any other check that may be deposited.
That being said, don't buy into the bad advice that using a USPS money order buys you extra protection because if it is no good, or someone swindles you, it is a Federal Crime and USPS Inspectors will come after you. The use of the USPS MO buys you NOTHING. What gets the Feds involved (if they decide you are worthy) is the use of the USMail to deliver the Money Order that makes if eligible for Mail Fraud charges. It is the act of using the USMail to defraud someone that triggers Mail Fraud, not the fact that you may have used a USPS money order.