It's weird, but it's actually an incredible way for the more well-off to subsidize the less well-off (at the risk of enticing some folks, who have the means but love a deal, to be penny-wise pound-foolish at everyone's expense including their own). At the end of the day, more people get fed at the price point they can deal with.
If no one did this, wouldn't that just mean that the price discrepancy kept rising and rising?
Now introduce the middle. The portion of them paying with coupons is anywhere from 0% to 100%. The restaurant makes massive profits from them at 0%, and makes no profits from them (but covers all costs) at 100%. Let's say it starts near 0% because initially nobody knows about coupons and over time rises near 100% once the information has spread around. Profits decrease so something must be done to counter that. Shallower discounts (say, 25% off instead of 50% off) is a possibility, keeping the discrepancy tight, as you suggest. But increasing menu prices, while leaving the huge discrepancy, is also a possibility!
Either method will get the profits to the desired level. But only one method -- maintaining the large discrepancy -- sustains the goal of maximizing the number of poor people fed. Therefore, a restaurant with that goal will choose that method; a restaurant without that goal simply won't issue coupons. The discrepancy, if one exists, is therefore constant regardless of how many penny-wise pound-foolish people are in the middle.
I installed the Wendy's app a while back, and by optimizing my selections, all of my orders since then have cost less than half of menu prices on average. For example, get a $3 item for $1 with any other purchase (so you tack on a $1 frosty), or buy a $6 item get another free. Taco Bell's app deals aren't quite as deep but you get the point. When tons of people are placing orders this way, menu prices must creep up to compensate.