There is an important difference.
'Supposed to' means that you are expected to do something. Maybe your boss has instructed you to do this, or your parents expect you to do this, or maybe it's a convention within a society. For example 'Girls are supposed to marry young and then obey their husbands' (!) The implication is often that you don't actually do this, or that you don't want to do it. 'Supposed to' implies that there is a rule, convention or expectation that you don't necessarily approve of.
'Should' implies an obligation that you know is right. You don't necessarily do this, but you know that you ought to.
Compare these two sentences:
1. 'I shouldn't eat so much chocolate.'
2. 'I'm not supposed to eat so much chocolate.'
In the first case, you are admitting that you eat too much chocolate. The 'obligation' implication of 'should' comes from within yourself.
In the second, the suggestion is that the doctor has told you not to eat so much chocolate. Perhaps you don't have enough willpower, or perhaps you are deliberately ignoring their advice.
Here's a little exercise, using Josep's example from above.
'He was supposed to do it, not you!'
Does this mean:
1. I think it would have been better if he had done it.
or
2. It wasn't your job to do it - it was his?