Money orders are prepaid and can't be rejected for lack of funds. It also doesn't come with the same checking fees. Businesses may not accept them because it is less troublesome to reject a money order than a check that bounces back.