Because money orders are prepaid, they can't be rejected for insufficient funds and aren't subject to the fees that come with bouncing a check. Some businesses or people may accept money orders but not personal checks because they don't want to bother with the risk of a bad check.