Oh, homemade definitely! It's healthier, too, since most commercial PB contains a lot of added sugar. Yes, that's right -- sugar.
Here's how I make peanut butter:
Buy four to six cups of roasted unsalted peanuts from the bulk foods section of the supermarket. Place in the bowl of your food processor, which has been fitted with the S-shaped blade (sorry, can't remember the correct name). Put the cover on the bowl.
Measure out about two-thirds of a cup of peanut oil (or canola or sunflower oil work just as well) and have it ready.
Start the food processor slowly, just to get the peanuts partially chopped. Once things get going, start drizzling in the oil (not all of it, you may not need that much). This will help the peanuts to be ground and chopped finer.
Continue for a minute or two, then stop and taste. At this point you may wish to add salt (but I never do and it tastes fine to me). And if you find the mixture dry, restart the food processor and drizzle in a little more oil.
Repeat until you achieve the consistency you like. It won't be as smooth as commercial peanut butter, but it'll be darned good all the same.
The only drawback of this stuff is that it's about 100 calories per tablespoon and I don't know how many fat grams; on the other hand, fat from nuts is good for you, in moderation. Enjoy!
EDIT: Try it with cashews instead of peanuts -- DIVINE!
EDIT: I forgot to mention this makes slightly less than two pounds of peanut butter, and it must be tightly covered and stored in the refrigerator to prevent rancidity.