First off, you'll have to get your hands on a ROM of a Pokémon game. However, I cannot tell you where to find one, nor can I upload one to this site, so, I can only say that you should Google it.
Next, you'll need to probably get VBA (Visual Boy Advance). It's a computer emulator; basically, it allows you to play the game of whatever ROM you got on the computer. It's mostly used for playing through another hack, or testing your own hack for bugs, although it has several more advanced functions that you will probably learn how to use eventually.
Even though you have both VBA and the proper ROM, you'll be unable to play the hacks that everyone has already released.. because they are in IPS format, not .gba, which the VBA uses to play and the ROM is. You'll need to get a tool called Lunar IPS, which both patches the ROM that you have (be sure to make a copy of it beforehand, unless you want to re-download the ROM) and it can make a patch of your hack. The latter part is especially effective if you want to display your own hack to the community.
Once you understand the workings of a ROM, and how to use the VBA to play through a hack, you can move on to actually hacking. The first step that most people take in this process is mapping, or creating the environments that you play through. If you went through a couple hacks and took a few glances, you'd have noticed how the environment looks way different from the regular trees and such that you'd find in the normal ROM. Also, they have different areas; places that have never been in an actual game. Both of these things are achieved through a unique tool, called AdvanceMap (A-Map for short.)
A-Map is probably one of the most useful tools used for hacking, and it is definitely a necessity when creating a hack. There are a few tutorials on how to work A-Map, although it is quite simple to figure out. However, one of the biggest parts of A-Map is the block editing/tile insertion section, which usually requires a tutorial of its own. That's the button that looks like a little puzzle piece in the A-Map interface; it's the tool that allows you to change what the trees look like, what signs you use, etc. In general, it changes a majority of the graphical aspect of the hack on its lonesome, and it is incredibly important for you to understand how to work that.
After messing around in A-Map for a while, most people move on to learn how to script. Actually, there seems to be a lack of scripting know-how in the recent hackers.. however, this is the next logical step. Unlike map editors, where the primary one used is AdvanceMap (I don't believe EliteMap is receiving any more adjustments, so AdvanceMap is the top map editor), there are quite a few scripting editors. The most popular two are PokéScript (by Irish Witch, I believe) and eXtreme Script Editor (often referred to as XSE, by HackMew). XSE has a more user-friendly structure, and is becoming the more popular script editor; however, PokéScript still has a lot of people using it. After selecting which script editor you want, you'll need to look at a good scripting tutorial, as scripting is extremely difficult to simply learn on your own. I learned how to script off of thethethethe's scripting tutorial, although diegoisawesome has made a tutorial based off of thex4's for XSE. Both are well-informing, and will start you off on your scripting path very quickly.
There are not many tools left to go over after those two most important ones; it all depends on what you want for your hack. Hacked unLZ.gba allows you to insert new sprites into the game, although you'll probably have to find a tutorial or two on how to work that. Free Space Finder is another useful tool, finding free space (obviously) for you to use when you need to insert something. A-Trainer and PET are two trainer editors; they edit the Pokémon that a trainer has. However, you'll need to remember which trainer is in which place, as they don't tell you. Sappy and mid2agb are music inserting tools, which you must get off of Magnius' music tutorial. They are very frail tools, however, so it might be impossible to get them to work on your computer. Overworld Editor Rebirth allows you to edit the Overworlds (OWs) of the player and NPCs, which is useful if you plan on inserting new player sprites, etc. The last tool which stands out is YAPE (Yet Another Pokémon Editor). It's a brilliant editing tool that allows you to edit all of the Pokémon's movesets, Pokédex data, etc. It's especially useful if you are inserting fake Pokémon (often called fakemon). Also, when working with sprites in general, MS Paint is another useful tool that most of you probably already have.
Now, once you have all of the tools and make decent progress on your hack, you'll want to post it up here (or not. If you don't want to, you can skip the next few paragraphs). You need to have a general idea for what the storyline is, and a good introduction. Then, you should probably post your ideas into the Scrapbox section, where people can disect your ideas, and give you their opinions. To take the next step from there, you need to get screenshots.
To get those, you need to run your hack in VBA, and begin playing it. At any time that you want to take a screenshot, click File > Screen Capture. There's also a shortcut key (I think it's F11) that allows you to take the screenshot. Then, you should post them on to your thread, and make sure that your thread fits the rules for the Progressing Hacks section. After that, you can PM a moderator of the Emulation section and ask for it to be moved.
Once you're in the Progressing Hacks, you'll probably want to start getting a small team together (unless you want to work on it by yourself). I say small, because it's both difficult to work with a large team (6+ members) and you'll lose control of the ROM quickly (i.e. you won't know who's got it, and who should have what done, etc.). It's best to have 2-3 people working on a hack, although you can certainly have more people or work on it by yourself.
After you've got some people that are willing to work on it with you, you'll want to work on a release date, or a beta. You can take some videos with VisualBoyAdvance (Tools > Record > Start AVI Recording [be sure you click AVI, not Movie, as Movie makes a movie that is only viewable in VBA]). If you're going to upload it to YouTube, you have to edit it in Windows Movie Maker and save it as a .mov file, as YouTube doesn't take .avi files. (At least, it doesn't for me.)
Now, this beta should be perfect. You should have everything that you want done right, as some people view the beta as a portion of what you'll give them as a whole. If it's a half-assed beta, then it's going to end up a half-assed hack.
Once you're ready, you should be able to release the beta as an IPS file (remember, you can use Lunar IPS to create this), and move on to Hacks Showcase, where a lot of good hacks are. Be proud that you made it this far, and keep hacking until you get done!
I think I covered most everything, but if not, I'll come back and edit this.