In many cities, police and other public employees who are needed for marathons (traffic control equipment, street sweepers, etc.) have not had raises in years. Instead, they are given better and better deals for working special events. Overtime, double overtime, 4-8 hour minimums, minimum number of supervising sergeants for so many officers needed, and so on. Also, many cities have kept taxes flat and tried to manage budget shortfalls by jacking up fees. Sound permit, park rental/usage fee, health permit, special events street permit and anything else needed will see fees go up year after year. And then there is the freaking marathon "swag" wars. Every event thinks that they have to have a giant multi colored medal, participant and finisher shirts/jackets etc. and all kinds of other useless junk (although the finisher beer mug at the Houston marathon is very much worth any extra charge). Add to that the rise of professional race management companies and the death of volunteer driven races, and you have every reason to expect race fees to go up and up.
But considering the magnitude of the event, marathon prices really are not that crazy compared to other sports and events. A round of golf at a top public course can easily push $200 with a cart on a weekend. Most theme parks are $50+ per person, with big destination venues like Disney starting at $100 per person. Most big music concerts and broadway shows will cost you $75+ for lousy seats and $250+ for half decent seats.
So, $100-200 for a marathon is really not outrageous. And there are plenty of low key marathons out there that are a fraction of the cost.