The word ought, often wrongly inserted, spoils the language instead of enhancing it. So while writing we must take proper care to use it well.
Ought was formerly the regular past tense of the verb owe. We find the use of this word in this sense in classic literary texts. In such cases, what you 'ought to' means what is due from you, or what you owe to someone else.
However, in recent times ought is used to convey the sense of moral obligations. Though it is structurally a form of past tense, it is used in modern English as a regular present tense. The past tense of the verb owe is now the regular form owed.
Nowadays, as said above, ought is used as a form of the present tense. It has no form for the past tense, but the sense of past time is expressed by joining the perfect infinitive to ought. Ought, therefore, is nowadays almost synonymous to should, when should means obligation.
Nevertheless, there is a little difference between ought and should (hence, almost synonymous). In strict senses, should expresses the obligation of expediency or fitness while ought expresses the obligation of duty. However, this little distinction is not closely maintained, and it is correct to say either You should obey your teachers or You ought to obey your teachers.
Please note that should comes without an infinitive to while ought always has it alongside.
Ought as the past form of Owe (archaic):
1. This due obedience which they ought to the king. - Tyndale.
2. He said you ought twice a thousand pounds. - Shakespeare (Henry VI).
Ought in the present and past tense, meaning Should:
1. You ought to obey your parents (It is your duty to obey your parents).
2. You ought to have rescued him (It was your duty to rescue him).
3. My brethren, these things ought not so to be. - Bible
Ought comes with to but not Should:
1. You ought to obey your parents but You should obey your parents.
2. You ought to have rescued him but You should have rescued him.