The reason that one of these examples is better than the other is not about grammar, it is about implications.
An implication is an idea that you might give to somebody, but that you didn't actually properly say. For example, if you say Give me my book back or I'll punch you, you are saying that you will punch the person if they do not give you back your book. But you are only implying that you will not punch the person if they do give your book back. But notice that you did not actually say this at all. Maybe you will punch them if they don't give it back and you will punch them if they do!
When we use the word if we often give people the idea that the situation in the main clause will be caused by the situation in the if-phrase:
- It will break if you sit on it.
When we hear the sentence above, we understand something like:
- If you sit on, it it will break because you sit on it.
Notice that that is just an implication. We did not actually say that!
When we use the word unless, we often give a different implication. Consider this sentence:
- I play outdoor badminton on Tuesdays, unless it's cold outside.
In the sentence above, I am implying that the normal situation is that I play badminton on Tuesdays. I am implying that the situation you should expect is that I play badminton on Tuesdays. And I am also implying that somehow "it's cold outside" is an exception. It isn't what you would expect to happen. For this reason it would be very strange for me to say I play badminton on Tuesdays unless it's cold outside if I lived in the Arctic!
Getting it wrong
Implications are not usually accidents. People use implications to give people extra information without needing to use more words. If we want to show that some situation will cause another situation, it is better to use if than unless. Remember that chair sentence? Well if we use unless the sentence will sound very strange:
- That chair will break unless you don't sit on it.
Now, if we are saying this to someone who is thinking about sitting down on a chair, this is a bit odd. This doesn't give the same implications as the if-sentence at all. It presents the chair breaking as something we might expect to happen, and it makes our not sitting on it sound like an unusual exception. The other reason it is odd is because if we wanted to imply that sitting on the chair would break it, we could just use the word if instead! It would be clear and effective. There is nothing wrong with the grammar in the unless-sentence. It just presents the information in a strange way, and doesn't use the implications of if or unless effectively.
It's important to remember that if and unless do not give opposite implications. They just give different ones. There are many situations where we could use either word and the implications would be useful.
Another thing to remember is that implications are very context-dependent. When the situation we use them in changes, the implications often change too. Also, the way that we arrange information in a sentence can give also different implications. This can change the types of implication that individual words would otherwise have.
The Original Posters examples
I'll come at 5 unless there is a traffic jam.
My wife will be angry, unless I'm home by 7.00.
The first example gives the implication that the listener should interpret the traffic jam as an exception to what is expected. The second example is not ungrammatical or untruthful. But if the speaker wants to say that not getting home by 7.00 will cause his wife to be angry it might be more effective to say:
- If I get home after 7.00, my wife will be angry.
This is not the best example that Michael Swan could have given. But this is what he means.