First of all, the main reason this movie is as good as it is, is Christopher Nolan. Nolan is not necessarily a believer in the term which plagues so many sequels, "Bigger is better". But he knew that he would have to up the ante for this one and the best way of doing that is to bring in the only character who can give the Batman pause, The Joker.
Christian Bale returns as The Dark Knight (the first actor since Michael Keaton to return as Batman) and Bale is every bit as good as he was in the first movie, deepening the character and giving one of the best performances of a career filled with some great acting. Batman being quite a stiff character doesn't allow for a lot of showing off but Bale uses his eyes as portals into the man beneath the mask with great effectiveness. Michael Caine and Morgan Freeman return in their respective parts and both are excellent. Gary Oldman is thankfully given more screen time and more relevance to the story and being the great actor that he is does not shrink from the challenge, giving us a hard but sympathetic portrayal of Jim Gordon. New arrivals count Maggie Gyllenhal (a vast improvement over Katie Holmes) and Aaron Eckhardt who delivers a tragically fantastic performance as Harvey Dent. The true showstopper is of course the late, great Heath Ledger. Ledger understood that The Joker character is greater than the sum of any actor who portrays him and as such what we see on screen is not Heath Ledger but rather the increasingly psychopathic being otherwise known as The Joker. I have rarely seen an actor become a character so fully that it chills me to the bones.
There is always something at stake in every scene in this movie and Nolan, who personally directed every scene in the movie, made sure that every character who appears on screen have some sort of purpose or relevance to the story. It is a complex drawing and may well be one that requires repeat viewings to fully understand. Also the action, because you better believe there is action, is very character oriented and thus becomes increasingly tense for the audience to watch unlike so many other action movies. The editing is flawless and helps to draw the audience into the fantastic action sequences.
The action on screen is helped along greatly by Hans Zimmer's fantastic score, while very similar to the one he did for Batman Begins there are a few noticeable differences. The Joker score makes my skin crawl because it kind of reminds me of nails on a blackboard and the heroic Batman theme, used only a few times to great effect, is one that can truly make goosebumps break out all over my body. Truly a great score, that is already being copied for various other inferior action movies.
The story is multi layered and one of the main reasons that I can just keep watching. Thematically, we're really watching three abstracts fighting each other on screen, Order (Batman), Chaos (The Joker) and Chance (Two-Face) and these abstracts are behind every action the three character make and adding layers to the lines they deliver.
Overall I would have to award this movie with the label Best Movie of All Time, simply because I enjoy it so much but watching The Dark Knight is an experience that deepens every time I watch it as something new always pops off the screen. Calling it a superhero movie almost seems like mislabeling it, as it is so much more.