There are several reviews which sketch the story line of this film and there's no point in repeating it. This film has a great cast -- Anthony Hopkins, Nicole Kidman, Gary Sinise, Ed Harris -- all talented actors, and all give creditable performances.
The story is told in such a way that there really are no secrets -- you learn the backgrounds of characters fairly soon after they are introduced, and their "big secrets" come out early. This isn't a film about "secrets"; it's a film about stains which people carry within. The characters are stained by events or other people, but the story exposes the importance of how we react to adverse situations. All of the characters battle demons, and all fight differently. Most overcome their stain, and they do it through loving and being loved. This film isn't really about racism, nor is it about a long kept secret. It's about battling events which we perceive as being unjust, and eventually about healing. This is true of all the major characters, and if you don't see this point then I suggest you watch the film again.
This isn't the best film ever made but it is an excellent one. I've watched it several times and I still enjoy it. This movie isn't a puzzle to be solved but a set of stories to be heard and understood.