In some cases they are interchangeable, but there is a difference in meaning.
'Should' more of a subjective opinion, whereas 'ought to' is more objective, and may suggest a moral duty of some kind or what someone is supposed or expected to do.
And don't forget that the grammar is different, too. 'Ought' always needs 'to' after it, and is not usually found in negative or question forms. So as you'd expect, 'should' is heard far more frequently than 'ought to'. We use 'should' all the time, but a native speaker could live their whole life without ever saying 'ought to'.
I hope that helps.