When you ROM hack you alter the original games' code to make your own game.
Some people might just want to change minor things in the game, such as lightly editing FireRed or Emerald with more battles, and that's fine too.
As to where you can get these ROMs, you'll have to search for it on Google, as it is illegal here to link to copyrighted material.
For example, if you wanted Pokemon FireRed (The most hacked game these days I'd say) you'd search "Pokemon firered ROM"
These ROMs can run on a Gameboy Advance emulator (Firered in this case), and finding that shouldn't be hard. (Hint: VisualBoyAdvance)
Here's a link you'll find useful if you want to start hacking:
https://www.pokecommunity.com/showthread.php?t=341758
You'd probably want to click the "Getting started" link on that thread first!