와우, 좋은 질문이에요!
Ought to는 should를 대체할 수 있는 표현으로써, 보통 조언을 해주는 상황에서 사용됩니다.
Have to는 좀 더 must를 대체할 수 있는 표현이라고 할 수 있을 거에요. Have to는 누군가에게 꼭 해야할 무언가를 말할 때 사용되며, 그걸 하지 않을 시 어떤 결과가 따를 때 사용됩니다!
예: You ought to send her a card to say thank you for the gift. (선물에 대해 넌 감사카드를 그녀에게 보낼 필요가 있어.)
예: You have to send her a card to say thank you for the gift. If you don't, you will lose your job. (선물에 대해 넌 감사카드를 그녀에게 보내야 해, 그렇지 않으면 넌 해고당할 거야.)