Hackathons promote the fact that your coding style should change depending upon the constraints of the programmer.<p>Having spent most of my career in R&D, I am constantly amazed by the fact that most folks keep the very same methodology no matter the budget, deadline, risk or importance of a project. Such people are one trick ponies that can only survive in a narrow set of environments.<p>Hackathons promote adaptation of approach. Spaghetti code is simply one possible result.
Hackathon winners are dominated by polished design and clever presentations. Working code is often an afterthought let alone readable, maintainable, scalable code with proper test coverage.<p>I highly doubt you'd find Linus Torvalds, DHH, Guido van Rossum or any other highly productive programmers competing in a hackathon. Maybe they have good reasons.<p>Also this is worth reading:
<a href="http://www.thoughtworks.com/insights/blog/why-hackathons-suck" rel="nofollow">http://www.thoughtworks.com/insights/blog/why-hackathons-suc...</a>
If you launch your hackathon project and never touch it again, then maybe...<p>But I think a better way to frame it is that hackathons promote streamlined MVPs which <i>must</i> be iterated-on and refactored at a later date to be sustainable projects. Some would argue that this is a fine business model, inside or outside of a hackathon setting.