Very often flags are used as symbols of languages, on the Web and elsewhere. For instance, a Web page might contain an "English flag" which acts as a link to an English version of a document (which itself is in another language). It is usually bad practice to use images as anchors of links, but this document concentrates on the theme why flags are particularly unsuitable anchors.
In a perfect world, there would be no need for explicit links to versions of a document in different languages. Even in this imperfect world, the Web might evolve so that a server and a user agent smoothly select a version according to language preferences which the user has given when configuring the browser. (There are methods for such negotation in the HTTP protocol, but they are rarely used in practice so far. See Techniques for multilingual Web sites. This should not be confused with the misguided "forced redirection" e.g. by Google, which uses undisclosed heuristics to send the user to a page in a particular language.)
We suggest you to read the full article at http://www.cs.tut.fi/~jkorpela/flags.html