Have you read the guides? The best way to learn might be by having an attempt!
Anyway, the process is basically the same for each Pokémon. First, find a spread you want; you can either do a search in RNGReporter or another programme, or look at the spreadsheets to find a good one. The things to remember are the seed and frame.
Using Seed to Time in RNGReporter you can find out a time and delay that will give you your seed when you turn the game on at exactly that time with that delay.
Then it's a matter of trying to "hit your seed;" saving before the Pokémon you want to catch/egg you want to hatch, setting your DS's date and time so that when you enter the game it will be on your target time, taking exactly the right amount of time whilst resetting to hit your delay, checking to see if you got the right seed and repeating if you didn't.
Once you've hit your seed, it's then a matter of advancing the frames until you get to the one that you want. Then you simply collect your perfect Pokémon!
So, here's a run down as to how I caught my Lugia:
1. First, I found the seed I wanted. I found the seed d2140289 in one of the spreadsheets linked to from the guide; this results in a flawless Timid Pokémon on frame 114 with Method 1. (In fact I abused my SID to make this spread shiny on my game).
2. Having got the seed, I used RNGReporter to find a time and delay that would enable me to enter the game with this seed. I found that 31st March 2010 at 20:58:59 would do, with a delay of 639.
3. I used the programme emloop, entering my delay to find what this translated to in seconds. Having already calibrated emloop, I knew I would need to add about 310; so I actually used the delay of 950 in emloop. This gave a value of about 16 seconds; I made up the difference to the 59 seconds required for my seed in emloop's other box.
4. Now I got to Lugia's room and saved, making a note of Entei's Route before doing so.
5. Then I restarted and set my DS to 31st March 2010 at 20:58:00, pressing A to confirm the time change at the same time as starting emloop's first countdown.
6. I restarted my DS and quickly got through to the game, where I waited for emloop's first countdown to finish. The moment it did, I soft resetted.
7. I quickly pressed A to get to the continue screen. Having calibrated previously, I knew that my game always hit even delays and I needed an odd one; so I scrolled down to the second screen and back up. Then I pressed A to continue as soon as emloop's second countdown finished.
8. I know needed to check my seed. I did this using the roamer's method. Factoring in Entei's initial postion, RNGReporter told me what route Entei should be on if I'd hit my seed. If I'd hit it, I moved on; if not, I went back to step 5. Other possible methods of checking an initial seed (not possible in Lugia's room) are 'phone calls to Elm and catching a Pokémon and checking its IVs.
9. Once I'd hit my seed, I needed to advance to the correct frame. Lugia is a Method K Pokémon, so I selected that in RNGReporter. I was aiming for a Timid spread, so I had a Timid Pokémon with Synchronise leading my party; I entered this in RNGReporter. It then showed which frames Lugia would appear on. I took into account the fact that Entei would advance the frame by the amount reported, and worked out how many frame advances I would need to make to get to one of the frames of the spread I was after.
10. I then advanced the frame by running around in Lugia's room; every 128 steps advanced the frame by the number of Pokémon in my party (six, in this case). Other methods of advancing the frame are 'phone calls to Elm (1 advance), 'phone calls to other people, such as Joey (2 advances), or tuning the radio into the bottom right station then detuning it (1 advance); these are impossible in Lugia's room, though.
11. Then I encountered and caught Lugia. It was easy to see I'd hit my frame because it was shiny; but usually, you'd check to see it had the right IVs. If not, you'd find out what frame it was, work out what you did wrong and go back to step 5.