不得不, 必须, 只好, 应该: what's the difference?
不…不… is more likely a language structure. There are 不能不，不想不，不好不 as well，they all mean have to do sth. and all of them are emphasizing that I originally not mean to do but under the circumstance I must do.  


  我不得不离开我的家乡去打拼。
  （I have to leave my hometown to make a living)  
  
  不能不说他的作品非常好。
  （We have to say his work is fantastic)  
  
  谁做生意不想不赚钱？
  （Anyone who is a businessman doesn't want to make money?)  
  
  他是我的老师，我不好不答应他.
  （As he is my teacher，it seemed not so well to refuse him）


必须，adverb.
（1）It's reasonable for you have to do sth.  


  学习～刻苦钻研（(I/We) must study hard)  


(2)Stress the imperative mood.


  明天你～来（You must come here tomorrow)    


应该 is a auxiliary verb.
(1)take for granted.  


  ~爱护公共财产。
  (We should protect public property.)   


（2）estimate sth. must be...


  今天出门早，～不会迟到。
  Leaving home so early today, I won't be late.  


只好，adverb. have no choice but.  


  我等了他半天他还没回来，～留个条子就走了。
  （Waited for him for such a long time, I had no choice but to leave a note and then walk away）  


Some parts maybe confusing to understand, this is a common issue for starter. The more usage you know about a word or phrase, the easier for you to know about the whole system and how it works.