Well, now that I'm done with the floor I thought I'd write up a quick tutorial for those thinking of doing it themselves. Keep in mind, I'm no pro, just a do-it-yourselfer who has done this one time. Hopefully I can pass along some good tips, but certainly don't consider this for your only source of info.
Read on for the tutorial...
Remove all furniture, baseboards, etc from the room. I also recommend removing curtains and any other fabric as you will generate a lot of sanding dust. Empty the closet, even if you don't plan to refinish the closet floor.
You need to make sure you either have a subfloor underneath the hardwood, or a thick enough hardwood floor that it can handle being thinned a bit. Once a floor is too thin, you'll chance cracking boards in the future when you move heavy furniture around.
The first thing you'll need is a drum sander. Check with your local hardware and equipment rental stores. If you've never used one before, I'd highly recommend renting one from a smaller hardware store or rental shop, as the guy at Lowe's or Home Depot probably doesn't even know how to turn it on, much less instruct you in it's use. Make sure you get a sander that runs on 110 current, because they do make larger ones that require 220 volts and are much harder to use.
Here's a nice before picture that has the sander as well:
The sander really doesn't require much strength to operate, but you constantly lift up on the handle to apply the sander to the floor, so your forearms and lower back are likely to get sore if you're out of shape like me. The power cord on mine had a twist to lock feature that keeps it from disconnecting from the sander while in use. I didn't realize this until after the first pass when I'd had it disconnect 5 times.
The first sanding goes at a 45 degree angle to the boards of the floor. Start at the middle of the room, and walk it forward, then backwards across the same path diagonally in the room. Do the entire floor this way. This sands out any ripples across the boards and will start taking the finish off the floor. You begin with a very rough paper, about a 20 grit. This is the point where you must be careful, because if you gouge the floor now, it'll be hard to sand it back out later.
Once you're done it will feel very rough, but the ripples should be sanded out and the finish should be mostly gone, except around the edges of course, depending on the type of finish that was there previously.
From then on, all sanding should go with the grain, i.e. with the direction of the boards. You go progressively finer in the papers, starting with the 20 grit to remove the old finish, then 35 grit. Then 60 grit (I did 60 twice) then 120 or so, which I did twice as well. Again, it's not hard, but it is time consuming.
Between the 35 and 60 grit papers, I used a painter's tool to dig the grime out from between the boards. The last time the floor was refinished, they left large gaps between the boards which filled with black gunk over the years. Then using a putty knife, fill those gaps with a professional wood filler. You can choose a color based on your floor. Be sure to buy enough, mine had to all be done and used almost three cans that you see in the picture:
At this point, the floor still feels pretty rough to the touch, but we still have a lot of sanding to go. After applying the wood filler, you sand with either a 35 grit or 60 grit paper, then continue on to the finer papers. Don't try to use the wood filler to flatten any dips or large scratches, instead sand a little deeper with the big sander before filling gaps. The wood filler, despite 'taking stain like wood because it's made from wood' will never look quite right with a large blotch.
The edger is probably the hardest part, because you'll have to squat or get on your knees and move it around the room, changing papers from 20 to 120 just like with the big sander. You work the edger in kind of a swoop design around the room, tap the wall, swoop out and over and back to the wall. Get what you missed on your second pass around the room, then switch grit to the next finer.
In the corners and tight spaces use a quarter sander to get to the edge. Now your room should look something like this:
If you look close in the picture above, you'll see the edger laying on it's side in the corner.
Now you must vacuum the floor. I did this twice, just to get it all. I'd recommend using a shop vac that has a bag inserted in it. You can buy shop vac bags at your hardware store that will work with most bagless vacs, and it keeps you from recycling all that very fine dust right back into the air. You want all the dust out of the room before you stain or apply polyurethane. On our oak floor, we skipped the staining and went straight to poly. We didn't seal it first either, so the poly brought out the natural colors of the wood. Prior to applying, I also put a large air-filter in the room and let it run overnight, just to clean out any last bit of dust.
If you want a light stain, you can seal the wood prior to staining, and the stain won't soak in as far. A contractor friend suggested just applying the poly 'it's all the rage' he said. I'm glad I did because it looks be-utiful.
After staining, or not, apply at least three coats of poly using a special lambswool applicator, which is basically a wide mop head that screws onto a painter's stick. Be sure to clean the applicator good with mineral spirits between coats so it doesn't stiffen up. I used a metal paint tray and poured some polyurethane in it, then used the applicator just like you would a paint roller. Apply in one direction, with the grain, and make sure you have good ventilation because this stuff will give you a headache very quickly.
Be sure you don't shake or otherwise disturb the poly in the can. This is not something you wan't lowes to put in their mixing machine. Shaking or rough stirring will cause air bubbles in the poly. Use a paint stirring stick and slowly hand stir the polyurethane, mixing thouroughly without causing bubbles. Bubbles will ruin the finish and will solidify in the poly before they pop if put on the floor. The hardeners will settle to the bottom of the can, so it's important to mix it well.
This picture is after the first coat of polyurethane:
After it dries, use a 120 grit or finer sandpaper to lightly sand out the finish between coats, but not after the last coat. This gets rid of bubbles and improves adhesion of the next coat. You can do this sanding by hand, it's not too difficult or involved, just buff it a bit, leaving it kind of milky white. I'd also use a dry cloth or mop head to remove the sanding dust before applying the next coat. If your poly says let it dry overnight, well don't get anxious, we're talking about a floor finish that will last for years, so there's no need to rush it right now. I did only one coat a day, and let it dry for around 24 hours each time before sanding. Also read the label on your poly. Some people talk about sealing over shellac with it, but mine specifically said DONT.
I used a gloss oil-based poly. The first coat mostly soaked into the wood and brought out the grain and color of the wood. It felt rough to the touch after I was done. The second coat felt smoother, but still had rough spots after it dried. It also started to look a little more glossy when dry. The gloss didn't really come out until I was done with the third coat, then wow! It also feels perfectly smooth now.
Don't forget to read the instructions on the can. Mine suggested not moving furniture on it for a week. They wouldn't print it if not important, so don't try to rush this either. You want the finish to harden completely before it starts to take a beating. Also, it said don't place area rugs on it for a month.
Here's the finished product. Note the difference in gloss from coat 1 to coat 3 - and this is dry: