It refers to the purpose of speaker and the kind of sentence or context. Should to and ought to have similarities and differences in usage.
Should to:
to lay a tentative obligation
You should come to the party tomorrow.
to express a probability
They should be at their destination by now.
'evaluative' should
It's strange that he should say such a thing.
In the first meaning, ought to and should are completely interchangeable:
You ought to come to the party tomorrow.
In the second, ought to is theoretically possible, but is rarely used with this meaning.
They ought to be at their destination by now.
In the third, ought to is not used.
It's strange that he ought to say such a thing.
The difference between "ought to" and "should", when they mean "giving a suggestion", is better understood when you examine expressions and examples.
For example if I like a cake very much and I want to suggest someone to try it I would say:
"You ought to try this cake."
In this case if we use "You should try this cake"
it says not much about how strong I liked it.
If someone is leaving the house after the diner, a polite way to invite him again is
"You ought to visit us again."
In this case if we use
"You should visit us again",
it does not give that strong expectation. With "you ought to visit us again" you compliment to the person that has visited you far more than with "you should visit us again".
"ought to" is sometimes a synonym to "cannot avoid". "should" is almost never a synonym to "cannot avoid".