There's a pretty wide range of hackathons, I think. Focused ones where you go start-to-end on a project in 24 or 48 hours are one specific kind. Others are looser, more like dev parties, sort of like gaming LAN parties but not focused on gaming. Some people at an event like SuperHappyDevHouse (http://superhappydevhouse.org) treat it like a coding sprint, but others work more leisurely on long-term side projects, observe what other people are doing, chat about new technologies, find a few people with similar interests and work their way through a tutorial, etc. Lots of ways to approach it as a concept and social setting.