An idiom is an expression that usually can't be translated literally. Its meaning is often quite different from the word-for-word meaning. For many idioms, either you know what it means or you don't.
Since my best language knowledge is about German, I like to give some examples:
In English, if someone hits you, you get a black eye. In German it's blue ("ein blaues Auge"). In fact, about the only time that "blau" means the same thing as "blue" is when it refers to the color of the sky, a pair of jeans, or "blaues Blut" ("blue blood"). If a German is "blau," he's drunk, not sad. On a menu, "blau" means "boiled." "Ein Blauer" is a one-hundred-mark bill (similar to "greenback" but more specific). "Blau machen" is to not show up for work--for no good reason. "Blaue Bohnen" are bullets ("blue pills/beans").
An English-speaker may sleep like a log, a top, or a dog, but a German-speaker sleeps like a wood chuck or a marmot ("wie ein Murmeltier schlafen"). In English you're "putty" in someone's hands, while in German you're "wax" ("Er war Wachs in ihren Händen."). You pull someone's leg in English, but in German you take them in your arms ("auf den Arm nehmen").
But some German expressions are extremely good at "hitting the nail on the head" ("den Nagel auf den Kopf treffen"):
"Da bin ich überfragt" (lit., "I've been over-asked" or in other words, "you've got me there"). Another favorite is one of many German expressions for "not being all there": "Sie (er) hat nicht alle Tassen im Schrank." ("She (er) doesn't have all [her/his] cups in the cupboard.")
[The above text is -slightly altered- taken from german.about.com.]
Some nice German proverbs (from German-speaking immigrants, who brought their proverbs with them) and their (correct) translation into English are to be found here:
Certainly, there are more and better examples (in other languages).