sorry, but that is a bad analogy and nonsense as well.
buying potatoes is a business case, where people expect the store owner to profit from that transaction. it is still a profitable deal for both sides, as the store owner can make a much better deal as if everyone would have to get those potatoes from the field himself (as long as the profit margin does not exceed this exact amount of work and time required).
a charity however has no other cause than to benefit the final receiver, in this case e.g. breast cancer research. any "profit margin" like e.g. for overhead costs is an economic loss, as the money is wasted and not channeled into the originally intended use.
hence, the formula "people can be happy as long as there is a dime being given to charity at all, which is better than nothing" is plain wrong.
if mcdonalds spends e.g. ten percent of their earnings on charity it is economically not "for free" for the charity but rather more costly for the whole society as if mcdonalds instead would lower its prices by 10% and leave it up to you to give those 10% to charity, which you then could even deduct from your own income taxes. by letting mcdondalds do the job, you are economically wasting a certain percentage of your income that could be instead directly invested into the charity by yourself, instead of letting mcdonalds take the benefit of the tax deduction.
on top of that, moral and ethics have a dollar value for themselves. hence, the assumption that business has no place or need for ethics and moral is plainly wrong as well. from image and reputation, to costs for refinancing and loans, a lot of cost factors are influenced by the way your adoption of ethics and morals are perceived by the markets. people do not tend to salute unethical behavior and hence tend to spend less with your if you have a shady reputation. so, you can amke a buck but generally, you can make much more profit doing the same business but doing it legit.
it is very one-dimensional thinking, if anyone today believes that ethics and morals can be disregarded in business relations.