Paul Rudd has made a career as of late playing the straight man to the drunken (Sean William Scott's Wheeler in Role Models), the bro-like (Jason Segel's Sydney in I Love You, Man) and the high (Seth Rogen's Ben in Knocked Up). He doesn't try to outshine Carell's Barry, rather he allows everything to bounce off of him. He and Carell are in prime form, it's the story that fails them.
Jemaine Clement (Flight of the Conchords) steals the show as Keiran, an artist who ponders life's little moments - being arm deep inside a zebra giving birth and the lifestyle of a goat herd - while keeping it straight-laced. That's the devotion of Barry and Keiran they both know that they're a little off, but Carell and Clement have to play it straight, as to not go meta, and distract from the film.
The biggest problem with this film is the primary problem with all of Jay Roach's comedies: there is always a lengthy storyline where the protagonist's life is seemingly destroyed only to have it all put back together in the last fifteen minutes.
Carell is entertaining without resorting to the kind of antic one would expect from a Jared Hess movie. He is the heart of the film that the French original lacks. Some might say the French original, Le dîner de cons, is better, but in my experience with french comedies they come off as extremely mean-spirited and this film does not sink to that spiteful level.
Even with the heart, Dinner for Schmucks is tedious in places and the comedy is a little lazy in places.