There is a slight difference in meaning in the United States.
"Garbage" is used more often, and it usually means that the contents may include discarded food scraps. So what we collect in a kitchen or cafeteria or restaurant would be called "garbage."
If we only mean non-food refuse, then we in the United States generally say "trash." The word "rubbish" was the equivalent for decades, but it has not been widely used for about 50 years.
Either word can be used as an idiom to mean something that one does not like or enjoy or agree with, or that someone feels is inferior or badly done, e.g.:
"That song is garbage." (I don't like that song. It sounds bad to me.)
It can also express that someone feels another person is lying or making a bad excuse:
Person A: "I was going to call you but I got busy."
Person B: "That's garbage." (That is not a good excuse to not call me.)