Selection tools, especially Color Range and others with a tolerance setting will make pretty specific hard selections. I avoid feathering as it is not interactive or easily modified after the fact. I prefer to make a layer mask based on the selection and then blur the mask. Blurring the mask is interactive as you can see the effect the blur is imparting on the selection in the Gaussian Blur dialog, and other modifications can be made to the mask with Levels and painting.
Layer masks made with the Luminosity of a pixel layer or from a channel should also be blurred in most cases if you are making an adjustment or using a blend mode to alter the appearance of the image. An unblurred mask will reveal its existence somewhere in the image either as an edge or as a strange-looking veil over the image content. Blurring the mask eliminates this problem by blending the modifications into the image in a more subtle fashion.
The trick is in how much to blur, and that is a question without an answer. A hard edge along a building roof can be blurred as little as three-tenths of a pixel, essentially faking an anti-aliased edge on a mask where a sky has been changed, added or modified. In other cases, blending in content or a change of density can require a stronger blur of 2-5 pixels. In some cases rather more severe blurring is called for in an attempt to hide the effects of the mask. The answer is to boldly move the slider in the dialog and use the Preview check box to see what happens. You will find that there are few rules for the technique, but closing in on the proper setting is not really that difficult.
When I paint on a mask, even with a fairly soft brush, I generally check the results and add an additional blur at the end to see if the transitions become more believable and subtle. Not leaving evidence of your modifications is the goal.