Is there any difference between 'Bad English' and 'Poor English'? If yes, when I should use them?
Bad English is more informal and poor English is more formal.
In speech with friends or an informal email (for example) it would be fine to say bad English, but if you're writing a paper or speaking more formally, use poor English.
Yes. "Bad English" is an example of "Bad English". "Poor English" is an example of Proper English.
"Bad English" is grammatically correct, and perfectly understandable. But in contexts where both "bad" and "poor" are appropriate (and have the same meaning), "bad" is informal, whereas "poor" is formal. Most native English speakers learn the word "bad" before they learn the word "poor".
For example, a school teacher might talk about a student who has "poor English language skills"; she might want her students to "speak English well". (Notice that "well" is an adverb, which modifies "speak".)
The student might just care about whether he has "good English" or "bad English". If he just started learning, then he probably knows the word "bad", but he might not know the word "poor". So people with "bad English" are less likely to say things like "poor English".
By the way, there are many situations where "bad" and "poor" are not synonyms. For example, Michael Jackson sang "I'm bad." But he had lots of money, so he was not "poor" financially. He was also a very good poet and singer, so he was not a "poor" artist.