Advice, recommendation, a good idea in the present.
Should/shouldn’t + V1
You should read more.
You shouldn’t play computer games so often.
Ought to + V1 (more stress on the moral obligation)
You ought to help him – he’s in need.
Regret about the past, someone didn’t do the right thing in the past.
Should + have + V3
You should have told me the truth.
She should have exercised more.
You shouldn’t have bought it. It’s too expensive!
Note:
For giving recommendation we can also use the construction had better + V1:
You’d better study more to enter this university.