These are so easy to make, and they can be addictive! You need to be picky about the brand of buttons you buy, or you may end up with a messy, puckered edge. Avoid those that have the little teeth on the back to grab fabric -- these are rarely smooth along the edges when you're done. I like Maxant buttons because there are no teeth and they include a "pusher and holder" assembly tool (pictured below). You can also buy refill packages that don't include the tool. I prefer to use upholstery fabric for these, because the fabric is pulled so tightly that sometimes the shiny button will show through thinner material.
Start by cutting out small circles of fabric, sized according to the template on the package. Remove the shank from the button back with sturdy pliers, then assemble the button according to package directions. For detailed instructions and photos on assembling the button, go to this post.
(Edit - 11/13/08: I now use E-6000 glue for a durable, transparent bond. Hot glue will not hold for long when you're handling your thumbtack.)