A ROM hack is a game that has been altered (or hacked) in a variety of ways. There are four general categories of hacks; translation hacks, graphics hacks, level hacks, and gameplay hacks. In order to create a hack, a hacker starts out with a dump of an original (usually commercially published) game, and make changes to the game's file contents. This can be accomplished by changing the 0s and 1s in the files, disassembling the ROM and making changes in assembly, or using a fashioned ROM hacking utility (which is typically specific to one particular game, but not always).
Hacks which translate a game from its original language to another one (such as Japanese to English), and hacks which practically create a whole new game (Mario Adventure for example) are generally considered to be among the greatest hacks created.