All this talk about whether QF can afford it, what happens in the other parts of the world are moot ( the competitive landscape in most parts of the world is quite different to the AU duopoly situation).
I agree that the "QF can afford it" line of argument is nonsensical. As it happens though, the increased competition in other parts of the world should drive fares elsewhere down, and make Aussie fares seem more expensive by comparison. In reality though, I think Aussie "full service" fares are pretty competitive compared to the US/Europe.
Checked this route on 7 different random days and QF were consistently priced higher than VA, the premium varying from $12 to $50 for similarly timed flights. Far into the future QF premium was more likely to be closer to the $50 end than the $12 end. Closer to now, the premium over VA seemed to be less.
Again taking next Monday as an example, it is true that the cheapest VA fares from CNS-SYD are lower than the cheapest QF fares - but only if you are willing to leave at either 6am or 6pm. The only other flight that VA has departs at 12:40, and fares on that flight start at $345. QF have flights at 11:30 ($266), 13:35 ($333), and 16:55 ($232). So again, a lot of people would find that they could fly for significantly less with QF than VA on this route - as always, depending on when they need to travel and how far in advance they can book (I agree that the "QF premium" tends to grow if you are booking further out).
As an aside, $232 for a ~2,000km/3 hour flight, when booking at short notice, is pretty cheap IMHO.
In any case, clearly fares vary a lot, but this has pretty much no bearing on what catering is provided - there will often be people on the same flight receiving the same catering (or lack of), despite some having paid 2-3 times more for their fare than others. As we all know, the fare differentials are primarily due to some combination of different fare rules and different levels of availability at the time of booking. In that context, it doesn't make a lot of sense to set expectations around catering based on how much you pay for a fare, as that's not how it works.
I fully agree that advertising "dinner" but then providing what the OP received is completely unacceptable, but IMHO the problem was the false advertising, rather than the food provided per se.