Okay, so I've never been to a formal hackathon. But-I love the spirit of them.
Spending all day with one singular goal, on a weekend (this is impt) is super fun. I notice that I rarely do anything productive between 10am-4pm on Saturdays. I don't even know where the time goes!
In SF, I tried to organize some informal meetups with friends for all of us to pursue an individual project. It can be incredibly hard during the week to work all day, come home, and then hack for yourself all night. I've done it a lot, and it's just tough.
The real question is, if you want to build something great, how do you spend your non day job time? Or I suppose, in my case, my unpaid work time. I felt like I wasn't adequately putting my money where my mouth is, and wanted to step it up and add accountability.
So, 2 Saturdays before I left SF, I spent a good 6 hours in the SaaStr CSS space, working on one idea. I think my goal both times was to make $1, and I didn't get it either time. But I did learn a lot about setting up a custom website, and loved having people next to me doing similar things.
I lament the fact that I kind of dragged people there...my buddies were not as enthusiastic as I was. Maybe that's just me being critical...but still true.
Only 1 of us was an engineer, and he wasn't building products, but rather doing more educational stuff. I wonder where the market is for non-technical hackathons. You can still get a lot done! Internet businesses are easier and easier to setup. The hackathon framework, accountability and mindset are amazing, but few "business" guys like me have tried it.
I think if we did more of it, we'd find out how useful they are. You need to be just technical...enough :)