I think I speak for many people here, not just myself, when I say that a big reason that I got into hacking Pokémon games is because before I knew it was possible, it seemed impossible. To put yourself in circumstance you never knew could be possible (i.e. to create your own Pokémon game) seems like a really cool thing. And I suppose to me, it does.
That's not the only reason, though. Many parts of ROM hacking are extremely challenging, and challenges, especially overcoming them, are a great stimulant for me. Especially starting scripting has been an enjoyable experience for me. It allows you to express exactly how you want the game to behave, if you can do it correctly (which is the challenge!).