Your feeling is correct!
I should be doing my homework.
This implies that I am doing something else, but the right thing to do would be to stop that and get started on my homework.
I should do my homework.
This does not imply anything about what I am doing right now. Therefore, it also lacks a strong sense of value judgement about doing homework now. It might be a good idea to start it right now, but it's not necessarily bad behaviour if I don't.
Why the difference? I think it's down to two things:
- Because "should be" is used for deliberate contrast with what is, while "should" alone doesn't have this sense of contrast.
- Because "do" could mean now or later, whereas "be doing" is definitely now. Even if it's clear from context that I mean now, the vagueness of the former makes it seem less urgent.
To answer your first question 'must' is possible in the above example but the meaning will be different than i suppose you have in your mind
When we use 'should' we think what is right/moral/decent thing to do at the time.
When you say 'They should have called the police.' - (Here you know it for sure that police have not been called)
But when you say 'They must have called the police.' (Here you are almost instinctively sure that the police had been called after you have anaylzed the situation well, but officially you don't know whether they called the police or not)
See below how 'should' and 'must' function in your examples
They should have called the police. (It is your opinion)
They must have called the police. (It is your speculation)
For Example
- There has been a burglary in one of the houses in your neighborhood. Now, any random family would call the police in this situation. So it is extremely easy for you to speculate that 'They must have called the police' - because that was the sensible and normal thing to do after the burglary.
But when you know that they didn't call the police in this situation then you might express your surprise in the following sentence
- I am surprised that they didn't call the police after the burglary. They should have called the police and informed them about it. (Must is not possible in this example)
Another example
Suppse you are telling your friend the following
- If you were having such a hard time at school, then you should have told me. (meaning that you might have been able to help your friend out)
Here 'must' is not possible - because you can't compel your friend to share things with you. Sharing is not compulsion. So you can't say --
You must share your problems / feelings with others.
But you say --
You should share your problems / feelings with others.
'Must' in one of its meanings implies compulsion, obligation etc.
To answer your second question -
You should read his new book. (Sounds less convicing than 'must' but it is still a suggestion)
Here 'should' works as a suggestion
But
You must read his new book. (sounds more convicing)
If there is any book or movie that you have liked very very much then you use 'must' not should. 'Must' will work as 'strongly recommended'
So it should be
You must read his new book. It's amazing.
Best Answer
I must disagree with both user37324 and NOAD.
A recent survey of literature and corpus study1 on this topic shows clearly:
These findings for British English coincide with my own impressions of American use, and with the quantitative findings of American corpus studies. I do not hesitate to assert that the two terms are synonymous. Should may be used in any context where ought to may be used.
And since should is far more frequent, I believe that a Learner may safely eliminate ought to from his vocabulary altogether; using should rather than ought to will never be wrong—unless the Learner must conform to a contrary opinion expressed by an examiner or academic advisor!