We use should, ought to, and had better to give advice, express opinions, to give warnings or to criticise someone. These verbs are similar in meaning, but there are some subtle differences.
If you have to do something, it is necessary for you to do it. It’s a law, an obligation or a fact. If you must do something, it is necessary for you to do it,