There are numerous examples of injustice in America (blacks treated unfairly in the criminal justice system, torture of detainees, etc.) and Americans generally seem to be more or less okay with this (shown by lack of a consensus of moral outrage).
Yet, Americans also profess to believe in human rights, the constitution and principles of justice for democracy and the criminal justice system. I doubt that conducting a poll, many Americans would disagree with these principles.
Why does our theory not match our practice? Can it be the case that American's truly don't believe in justice for all, if it can be violated so blatantly and without major objection from the public?
And if it's the case that we truly don't care about justice then why not change theory? Or, if this is not the case, then why are people so apathetic?
Is it even human nature to care about virtues and ethics? Or is it something that can only be achieved through active reasoning and pursuit of knowledge?
How can I be happy in a...
You are right that there are very high levels of hypocrisy in the US: our actual behavior often fails miserably to cohere with our announced values. But you should also recognize that some of the problems you mention are extremely intractible and may be extremely difficult to remedy. Have we made progress on these issues? I think we have, but I also think that the progress comes in fits and starts and also sometimes moves backward before progressing again. As for our tolerance for the gaps between our professed values and our actual practice, I think lots of factors come into play. One such factor is the degree to which we are willing, ready, or even able to make progress to eliminate the gaps a primary priority. Notice that all of us may value something, but not value it enough to set other priorities aside in order to make progress on this particular thing. The point is that people have limited resources (in time, money, energy) to "spend" on improvement in all of the areas that need...