Josh Parsons grades various countries' flags, which mostly means mocking them. For the Central African Republic: "Do not attempt to disprove the four-colour theorem on your flag!" Montserrat: "Features a picture of a woman crucifying a harp." Libya (plain green): "Did you even try?"
I don't agree with a lot of his grades, but that's fine; it's a matter of taste. There is a less subjective issue here, though: flags need to be recognizable, and they generally aren't.
Most flags use one of the small number of forms that are are easy to describe in the language of heraldry. This means there are a lot of tricolors and bicolors, often decorated with stars or illegibly tiny coats of arms. Heraldic flags have the advantage that they're generally easy to make, but the language's vocabulary is limited to a small set of patterns and colors, all of which are already heavily used.
It is possible to construct other forms in heraldic language. The Union Jack, for example, builds its eight-rayed star out of crosses: "Azure, the Crosses Saltire of St Andrew and St Patrick, quarterly per saltire, counterchanged Argent and Gules, the latter fimbriated of the second, surmounted by the Cross of St George of the third, fimbriated as the saltire." The language, however, expects the norms it grew up with, and doesn't make it easy. It might be interesting to try creating flags in a language with different biases, such as Pan. There are probably many memorable designs waiting to be discovered.
Sometimes originality isn't wanted. Countries are prone to copying each other's flags, especially those of their former colonial masters. Some flags are even deliberately similar: many Slavic, African, and Arab countries share the same colors (and sometimes the same shapes) to show their relatedness. Of course this only makes it harder to tell them apart.
Color, at least, can be easily made distinctive, because only a few colors are traditional in heraldry. A bright purple flag, or a fluorescent pink one, will be remembered. Black and white is also underused, even though it offers the highest contrast. There are a lot of bad flags that try to make a boring pattern memorable with garish colors. It doesn't work, because bright colors are so common. Really, most flags have too much color. Especially red and green, which fly over most of Africa. Those are both perfectly respectable colors, but they're overused, and rather unpleasant to look at side by side. If you must use them, at least separate them with a white border. Please?
Via Tyler Cowen - now I have a headache.