As a runner (and marathoner) myself, here is my opinion on the NYC marathon:
It's one of the "big name" events in marathons and running itself, yet I'm not sure why. There are hundreds of marathons people can do and I have no idea why it's so important to some of them to do NYC. Unless you're from there or have some special attachment to it, why is it any more important than any other marathon? Yet so many people want to do it they have to hold a "lottery" just to draw names - unless you cheat your way in, which plenty of people do.
It's like the Boston Marathon, where you have to "qualify" for it and yet so many people can cheat their way in anyway. I'm not sure why so many people want to do it when there are plenty of other marathons, but for some reason they flock to it.
I've run in marathons with massive fields in the thousands of people and some with less than 30 total participants, and I like the smaller fields better personally. I don't like crowds, and it's easier to run without the congestion too.
To digress to the original question, should the NYC marathon go on, I think it should. It's like any other scheduled event in NYC, be it a sports game or whatever else. They wouldn't cancel the Knicks opener, a Giants or Jets game, or whatever, so the marathoners who also pay to be a part of their event should not have to go without.
The nature of every large field marathon is the way you describe in your "no" answer burnsy. Sure there is a lot of "waste", but that's how people (not just runners) are in general. They paid to run a race and there is no reason they shouldn't get to do so.