It is clear that hackathon's are creative ways to solve given problems. They are kind of a transposition of the old idea of "brain storming" to nowadays technological environment. They also let engage IT activists in city problems solving, and, probably, getting some of them working in this field in a more time-lasting mode.
Nevertheless, what hackathons won't get to achieve is solving city problems (or callenges) from a more holistic and complex point of view.
Once again, they are one more tool, not THE tool. :-)