Burning the American flag is a legitimate protest and should be protected as free speech. If one is allowed to say, "America is bad" or "America is corrupt" or "America is greedy" then one should also be allowed to deface or burn a symbol of that country. Burning a flag can be a potent protest and if the protest is in line with America's best ideals then burning the flag could in fact be considered a form of patriotism through dissent.
The prohibition of flag burning makes sense, we are supposed to love and support our country if you are burning the flag you are disgracing it. However, how can we call this a free country if we would fine people for burning a flag? We are supposed to allow freedom of expression.