Only very slight plot spoilers below, but some discussion of stylistic elements--if you're like me and would prefer not to know the weak parts to watch out for before you see a movie, then feel free to stop reading.
First of all, if you were thinking of taking your kids to this movie, I would not, unless your kids are made of some stern, nightmare-proof stuff.
Because that image of Heath Ledger as the Joker up above is just the start. This isn't a Joker you would ever want to buy your kid an action figure of--this is a Joker you want to wipe out of your mind as quickly as possible. This isn't a clever, wisecracking, somewhat psychopathic antihero--the Joker of "A Dark Knight" is a self-described "agent of chaos", and makes good on his claim again and again.
I had no real intentions of seeing this movie, due in part to how incredibly creepy it is that Heath Ledger killed himself just weeks after shooting the movie. It's hard to separate the real-world Ledger from his Joker; similar to Owen Wilson's portrayal of a man who's just tried to commit suicide in The Darjeeling Limited, which was released comparatively soon after Wilson himself attempted suicide. Watching that movie was like waiting for the end of a joke you've already heard a slightly different version of before. A joke you already know is not funny, not even a little.
But unlike The Darjeeling Limited, where real world events distract from the faux world of the film, the sad circumstances of Ledger's death, if anything, inform his portrayal of the Joker. Macabre, yes, I know--but again, this isn't a sympathetic Joker, who you half want to win, dancing through the museum to a soundtrack by Prince. This dude is just murder on two feet: where Jack Nicholson as the Joker looked cool and suave, Ledger is tattered, filthy, and has teeth like cream-style corn. He's the worst kind of clown nightmare, and it's absolutely easy to believe that at any moment he will do ANYthing, and that whatever it is will be AWFUL.
Okay, enough about the Joker: but I will say that Heath Ledger is super fantastic in this movie. Holy Cow.
In fact, everybody is, almost without exception, incredibly good in this movie. Christian Bale is a great Bruce Wayne, especially Wayne-As-Playboy-Jerk. Morgan Freeman was surprisingly charming as down-home executive Lucius Fox, and Gary Oldman is so amazing as Jim Gordon that it was like he stepped right out of Batman: Year One. He's so accomplished an actor that you have to look hard to see how great he really is: in a scene where he's being told something awful by the Joker, the only sign of whatever inner turmoil must surely be raging inside of him is the twitching and flaring of his nostrils; far more convincing than a bunch of gasping and raiment-tearing.
But the real tragedy of the movie is Aaron Eckhart, who plays Harvey Dent. Not that he's bad--he's great, really great. He not only makes you like Harvey Dent--you LOVE him. You want him to succeed--in many ways, he is the hero of the movie, if not the titular one (although you can make a strong case in that direction as well). And this is the problem with the movie: there are too many eggs in this basket.
Director Christopher Nolan ambitiously--and correctly, with this subject matter--sets his movie up along grand themes of heroism, where the protagonist struggles against the dichotomy between his humanity and his iconic role within the story. The problem is that pretty much everybody in the movie is having this struggle on some level, whether it be Batman's struggle with his role in Gotham as hero/antihero, Jim Gordon's struggle with justice and the hard realities of his job, or Dent's struggle between his "white knight" heroism and the inconstancy of everything around him: judicial system, city government, and a criminal that doesn't operate under any rules at all.
While I wouldn't say that The Dark Knight is necessarily crowded with too many heroes or villains, like some of its predecessors, I WOULD say that it's crowded with too many great characters and performances. Aaron Eckhart, Gary Oldman, and Christian Bale are a great tripod of actors--everyone knows that three is a magic number. But hugely, impressively, surprisingly, all three are completely outshone and upstaged by Heath Ledger's Joker. I know it's a weird criticism for a movie, especially a "superhero" movie--"those actors are too good." But it's distracting. Ledger is so good at being so terrible that the thematic struggles of Batman and Harvey Dent (and the somewhat glossed over struggle of Gordon), are only momentarily fascinating, and then instantly forgotten whenever the Joker comes onscreen.
Again, it's a dumb criticism, for what was a really fun, absorbing movie. But a 150-something minute movie--I wonder if Christopher Nolan, with a toolbox of such great performances, didn't give in a little in the editing room. While Ledger was definitely electrifying, I think that if he'd been used a little more sparingly, the other parts of the film would have had more chance to shine. It's like carefully seasoning a dish to perfection, and then throwing black pepper all over the top of it. Ledger is utterly convincing as a deranged, capricious, and calculating psychopath, but so much so that he drowns out the more nuanced flavors of the rest of the movie.
All the same, wow--good comic book movie. Go see it soon, but honestly--leave those kids at home.