I think the thing that you have to remember is that there are a lot of different types of learners out there. From the sound of it, the hackathon environment is not conducive to your particular learning style (which is totally fine). Hackathons are great for the kinds of people who learn by doing or who need lots of real-world practice to master skills.
The other thing I'll point out is that a lot of "hard skills" that you need to be successful at those things are not necessarily technical. Examples: learning to work on a team, learning to deal with things going wrong on a deadline, learning to explain your work to other people. So, don't forget about those benefits too!