When is it appropriate to use 先生?
Generally speaking, it is always appropriate to use “先生” as it is a title used to show your respect for others, especially those elder than you. Because the title “先生” can be understood as "born before you", which implys that they deserve your respect.

E.g.



  Mr. Green 格林先生
  
  Mr. Tom 汤姆先生
  
  Mr. Tom Green 格林·汤姆先生
  
  Hello, mister. 您好，先生。


--- In this case, any male adult can be called “先生”, a child is seldom called that. The title can be used alone. Or you can add either his family name or given name before “先生”, or even his full name.

  Your husband is handsome! 您先生可真帅气！


--- In this case, the husband of one's own or someone else's can be called “先生”, but instead of the meaning "born before you", it is simply a title for "husband". Usually it is used in dialogs and cannot be used alone. In other words, a person will not directly called her husband “先生”.

  Miss He Xiangning 何香凝先生
  
  Miss Song Qingling 宋庆龄先生


--- In this case, for those honorary persons, even female can be called “先生”, but this kind of expression can rarely be seen nowadays.

  算命先生
  
  风水先生
  
  教书先生
  
  看病先生
  
  账房先生


--- These are idiomatic usage