On the other hand, if your problem is more about animosity between groups or individuals than broken processes and an unwillingness to have them change, then there's merit. Having engineers partner on non-critical projects with other engineers, product managers and other non-engineering staff can build up an understanding of their value and purpose, as well as just letting each to know the other as a person.
Doing it once or twice a year in isolation is probably too infrequent to get lasting value - the positive value might have a total lifetime of about 4 months, so I'd suggest three or four times a year is a minimum - unless you have some other mechanisms that try to solve the same issues that hackathons do.
I'm assuming that most teams do not program in their spare time for fun.
Most of my "hacks" are tools that make our processes more effective. I have to "steal" chunks of time to create them but they pay off in time saved.
We just held one a few weeks ago, and several awesome things came out of it. One even shipped the following week: http://blog.bitbucket.org/2011/07/07/redesigned-commits-scre...
It's always a lot of fun, and this, in addition to the 20% time we get, means we get to work on really cool things which sometimes even make it to the public.
At Yola we had a series of short code sprints to focus as much attention as possible on a particular project - no interruptions, specific outcomes, everyone fully present. Authoritative decisions came faster due to high-bandwidth communication between everyone with a stake (and that spilled over a bit after the sprints).
Meanwhile, hackathons at Facebook seem to continue the aims of bootcamp - promoting discovering more about people, code, and technologies that you won't usually interact with on your usual team/job. After the day (or two) recovering from hacking all night, everyone seems a little more energised.
We've covered last November's hackathon on tumblr: http://w00tcamp.tumblr.com/
One of the resulting projects is http://www.soundmatch.me/ -- enter your Last.fm username and it will generate a Spotify playlist based on your music recommendations.
btw, we're hiring!