I'll give you a British perspective.
Basically, these words all have the same meaning. 'Rubbish' is British English, while both 'trash' and 'garbage' are American English.
But it isn't quite that simple. Everyone in Britain understands all three words, and many of us use all of them from time to time. When speaking literally, of the stuff we throw out and is collected regularly from outside our houses, we generally say 'rubbish'. But there are occasions when 'trash' is used - it's common to describe poorly written novels as 'trashy', for example. And if someone writes something that is complete nonsense, we could call it 'total garbage'. The more words we have available, the more expressive we can be.
It would be interesting to hear a US English speaker's view on this.