I've seen this twice now. Overall I like it! The first time was much better than the second, tho.
All the good stuff people are saying here is true: gritty, realistic, morally complex, exciting action, great performance by Ledger.
Major negatives for me: stupid one-liners throughout, some from Ledger but mostly from Bale; overly moralistic and preachy, especially towards the end; movie loses steam after the highway action scene, which was especially beautiful; the whole ferry boat scene was pretty contrived and overcooked, and the final showdown between Batman and the Joker was lame; lots and lots and lots of talking, no reason for this movie to be two and a half hours. Though it has the appropriately dark "tone," I like my comic book movies to have more visual pizzazz than this film (more of a cartoon representation of big cities, a la Batman Returns or Spider-Man 2). Also, I've never liked Christopher Nolan's editing (too fast, no real understanding of geography so it's easy to get confused; don't even bother trying to figure out who does what in Batman Begins, there is NO context to any of the explosions or punches) but here it was much improved. Yet I still cannot abide Batman showing up in the middle of any room and saying "surprise!" especially when he is able to magically appear in the middle of a crowd of tuxedos and punch Joker square in the jaw. Did no one say "holy **** that guy is fucking magic!" or do they just expect Batman to appear in thin air?
Also, Two-Face's makeup was not in line with the film's gritty realism, so in any other context I may have liked it, but here it was out of place.
Again, highway action scene and every scene with Ledger (especially when he's wearing a dress) are excellent. Last 45 minutes, not so much.