不得不, 必须, 只好, 应该: what's the difference? This is what I'm thinking:


  不得不


pm. "cannot but, have to" this seems colloquial, and the fact that dictionaries think of this as a set phrase/fixed expression makes me think so. Also feels like the "can't help but" of 忍不住.


  必须


adv. "must, have to" this feels to me like it might be formal, is that right?


  只好


adv. "have to, have no choice but, be forced to" this sounds begrudging, like you have to or must, but don't really want to.


  应该


aux. "should, ought to, must" I think I usually hear this more often to mean "should, ought to" and not really as must, but I'm not that sure.

Can anybody clarify where I'm right and where I'm wrong in my thinking?

Thanks muchly
不…不… 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.