Raphael’s own answer is of course correct:
The hint node inherits the every node styles.
If you only want to change the tree’s nodes, you can set the every node style locally to the tree if you use
\path[options] node {parent node} child …
instead.
While the positioning is great, a simple hint like that can be placed with the help of the label options. There is no need to name the node (b) anymore and one can easily change the text without researching which hint belongs to which node.
Note that I have used .append style handler, especially for the every label style.
When a label (which is just a node, too) is placed it inherits also the every node style, but the every label style overwrites any possible settings.
This can be seen if you use the every label/.style instead of .append style. Suddenly the shape’s border is visible because the .style handler overwrites an already existing draw=none in the every label style.
Code
\documentclass[tikz]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\path[every node/.append style={draw,circle}] node {A}
child { node (b) {B} }
child { node {C} };
\node[draw=none,below=1mm of b] {some hint for B};
\end{tikzpicture}
\begin{tikzpicture}[
every label/.append style={shape=rectangle},% these three options could have
label distance=1mm, % been assigned to a \path
every node/.append style={draw,circle}, % like in the example above.
]
\node {A}
child { node[label=below:some hint for B] {B} }
child { node {C} };
\end{tikzpicture}
\end{document}
Output
