for the bottom line, it makes no difference to the program. $300 shelled out is still going to be $300 shelled out.
I don't think this is necessarily true. I don't know a ton about the ins and outs and requirements of these programs, but if these recipients are also receiving subsidized health care then $300 shelled out is NOT $300 shelled out if it is spent on foods that will ultimately make the recipient sick/overweight/chronically ill. If that is the case, tax payers have to also absorb the cost of their irresponsible choices in increased taxes to pay for their healthcare.