All of these films have merit. However, might I recommend watching on line the RSC production on PBS with David Tennent as Hamlet and Patrick Stewart as Claudius.
This is a televised version of the 2008 production. Both actors make some wonderful and truly amazing acting choices. They are supported by a superb cast.
I have also enjoyed the Kevin Kline version. Some wonderful choices here, too.
Film can do some wonderful things but I prefer my Shakespeare live, in a theatre, and if this is not possible, a film or televised version of the staged production comes in second best.
I am actually going to suggest another version. In 1990, Kevin Kline did a version for HBO. It was amazing for a couple of reasons. I thought that his performance was perfectly controlled, not succumbing to the propensity for caricature that the character gives to the untrained actor. He brought out the melancholy when he needed to, but not to a point where it became maudlin. I also thought Diane Venora's characterization of Ophelia was very strong. Kline's moments where he articulates the soliloquies with so much emotion were probably the element that stuck with me the most. After reading these speeches multiple times, to hear them in his dramatization brought out new discoveries in them. I thought that his version would rival any of the other four mentioned.
Mel Gibson captures what I believe is essential about Hamlet: his charm. In the Gibson film, the scenes between Polonius and Hamlet in the library and between Rosencranz and Guildenstern and Hamlet are quite memorable. Gibson plays Hamlet as sardonic, witty, and angry, as well as altogether charming and likable.
But as far as true acting is concerned. Branaugh does it better. He brings to the table a wider range of emotions and passions. His graveyard scene is excellent. I also thought that the way Baunaugh portrayed the takeover of the Danish court was very effective. In his version, Fortinbras ambushes the castle and takes it by force even though it had virtually already imploded. My problem with Branaugh's Hamlet is that he is simply too old. A younger actor than Gibson and Branaugh needs to play this part. By the way, Kate Winslett is excellent as Ophelia.
I, too, prefer Branagh's version for a couple of reasons. Despite the fact that it's not set in theElizabethan peroid, it's stunning, visually. The whole kind of military/martial look really works for this play. I also like his choices as both an actor and a director to make a pretty definitive statement about several key issues in the play: Hamlet's not in love with his mother, he does loveOphelia, and he's not mad or insane with anything but the expected emotions of guilt, anger, and grief. We know dis point of view and just get to watch him work. Brilliant.
I liked the look of Mel's movie but I didn't buy him as Hamlet and I was a bit insulted at how the audience was treated as being rather dumb--such as cutting to dead ancestors during the "To be" speech so we can't miss that he's contemplating suicide. It's just so obvious.
I really enjoy Branagh's version, for a few reasons:
I actually struggled to get into Olivier's because it felt so dark and dreary. Obviously the acting was superb, but it honestly felt too drab. Branagh's is a tad over the top in that regard with the incredible flourish and foppery of the court, but I really enjoy it. Besides, as an epic sort of tale, it deserves to be over the top.
Another reason was Branagh's own version of Hamlet. I could do without some of his incredibile sighing, but outside of that, I thought he did a fantastic job of mixing the very emotional and depressed Hamlet with the determined and intelligent one, plotting for revenge.