In a nutshell, ROM hacking is modifying a game's data. It's an easy way to make your own game, using an existing one as a base.
The game I love to hack is Super Mario World for the SNES (or rather, emulators thereof). With a powerful level editor and tons of custom resources, it's among the easiest games to hack. SMW hacking is easily my main hobby, and has been for roughly ten years now. I'm a rather long-time member of SMW Central, and I've made a couple of games ("hacks") since then — in fact, I'm still working on one!