The term "hack" also has a (semi-) positive connotation that refers to trying out code you're not familiar with or in a language you're not familiar with to... make something happen. :-) This contrasts with the "hacking" as in breaking into or disrupting a computer system.
It's not a completely positive experience or process because, well simply, you're not sure of what you're doing!
I'm compelled to point out a parallel between code hacking and biological evolution. At the end of the day, when you have your hack working, you've taken so many different routes, and had so many different dead ends, that you mimic a kind of evolutionary trail. A giant "bushy," multi-pathed decision tree where there can be more than one "right" way to make a viable solution. There's probably many more "wrong" ways, as well.
Just like in evolution, the solutions can range from basic organisms, to the more and more complex. Code (hacked or "properly done") as well, can be of varying levels of complexity, elegance, and so forth.
So in the end, with my hacked solution, I can look at it and marvel at the number of successful and failed iterations. And be utterly confused how I arrived with that particular solution.