Why isn't my table built from lumber taking stain well?
Some woods, especially softwoods such as pine/fir/spruce, are notorious for taking stain oddly. The usual solution is to "condition" the wood before staining, to reduce absorbancy overall and make them behave more like we would expect. There are products sold specifically for the purpose, or dewaxed shellac can be used. 

Many discussions of this exist on the web. Let me see if I can find a good link to one of the magazines.