I think of him like Tom Hanks. He used to be very good when not so famous, but he’s a little lazy now. He was great in Gilbert Grape and Basketball Diaries, and IMHO actually pulled off Shakespeare in Romeo+Juliet (although the film would have collapsed without the support of Pete Postlethwaite’s acting).
He’s much more talented than Hanks. He’s been good very recently in The Aviator and other things.