Jokes aside, it depends on the viewpoint.
Viewpoint #1 - I think like some traditions, the reasons why we do things the way we do tend to get lost over the generations. For many Americans, you stand for the flag because it's a way of demonstrating the ability to rise above differences. Not everything in America is squeaky clean (never has been), and politics is divisive as ever, but everyone can come together on the ideals of what the flag represents: Freedom, personal responsibility, civil liberty, and tolerance. People get offended when you don't stand for it, because it's those ideals that, despite our dark past, have slowly lead the charge over the generations for a better society. To them, it's like slashing your own tires and counterproductive to what you're attempting to accomplish.
Viewpoint #2 - I'm sure it also has a lot to do with our protestant roots. The old Anglican tradition is that you sit for instruction, bow for prayer (or reverence), and stand for praise. You bow to the cross, because it's often accompanied by prayer, and it's a common tradition to bow to your king. We stand for the flag because it's always accompanied by the singing of the national anthem, which in itself is a form of praise. It's just what you...do. From that viewpoint, whether you stand or kneel for the flag technically shouldn't matter.
Both viewpoints are correct in their own way.
At the end of the day though, it comes down to this; you cannot influence what you don't honor. No one gets offended when you stand for the American flag, but lots of people are offended when you don't. And that's where you have to ask yourself, "What is the more honoring route?" While a great financial move for Kaepernick since Nike is now financing him (and probably more than he ever made with the NFL), one has to ask, is it actually producing change for what he took a kneel for?