A hackathon is “is a is a design sprint-like event in which computer programmers and others involved in software development, including graphic designers, interface designers, project managers, and others, often including subject-matter-experts, collaborate intensively on projects”.
Most hackathons have a specific focus around a certain programming language, operating system, API, sponsor technologies etc. Some also have no restrictions, allowing for you to build anything you want to pursue.
The event often lasts about 24-48 hours nonstop, meaning people stay up through out the night working on their project. Those hours are filled with food, caffeine and prizes, which are often tech oriented or cash.
As the organization MLH (Major League Hacking) was founded, the amount of hackathons grew substantially. There is often always a hackathon near you every month or even every other week in some areas.
Teams are often formed before hand or even at the venue by finding others and networking. The collaboration aspect of hackathons are very imporatant and lead to the creation of great projects.
At the end of a hackathon, there are demos of the projects and judging for prizes takes place. They showcase the hard work the teams have put into creating a working demo to show off.
I highly recommend hackathons if you are interesting in coding and technology, and going with other friends makes it much more fun as well.