I usually hear people say like: "in" the street. Why not on the street? We walk or drive "on" the surface of the street but why do people say "in" the street? Can someone explain?
Thanks in advance.
We do use both, actually. An example of "on the street" would be: "If you ask your average Joe on the street..." However, "on the street" tends to be pretty much limited to this type of construction. "In the street" is the idiomatic expression, and it does not really make sense, because, as you mentioned, things happen on the surface of the street, not "in" it. But always use "in the street," if in doubt. Even the example I gave above could use "in the street," and it would not seem awkward or incorrect. Everybody will understand you if you use "in the street," and nobody will think that you mean underneath the surface of the street.
Another idiomatic meaning of being "on the street" is broadly perhaps "homeless".

This example is from Simon & Gar***el's song "Bridge over troubled water":
"When you're down and out; when you're on the street; when evening falls so hard, I will comfort you..."

Teachers: We supply a list of EFL job vacancies
Great example, Miriam!!

Beautiful song!
Its 'on the street'. I can't think of an example of the phrase 'in the street' !!
In general, "in the street" is more idiomatic and used more often. Both are acceptable as it all depends of what you are describing. I reckon the use of "in" and "on" can be logical yet not always. There is a thread on BBC about the use of "in", "on" and "at" and also the topic we're discussing here. http://www.bbc.co.uk/worldservice/learningenglish/grammar/learnit/learnitv61.shtml
Students: We have free audio pronunciation exercises.
I believe British and American usage differ on this point.

I think the British live "in" a street. "We live in Hunter Street." "We have a flat in Hunter Street."

Americans live "on" a street. "We live on Hunter Street." "We have an apartment on Hunter Street."

Is my impression correct? Anyone care to elaborate?
I think it is just because the habit. It has no reason why we don't use "on"
Just like some phrases in Chinese ,foreigners don't understand why we use them ,
but for us, it is very common,we hardly think of it .
But if a foreigner ask me :"why do you use this word ,but not that one?"
I don't think I can give him the right answer...
But maybe ,someone can explain it to you ....
For me ,I'll just use "in the street ",and never think why ...