Hopkins and Joan Allen were perfect casting to play Dick and Pat Nixon, but their performances were nevertheless all wrong.
Hopkins should have played Nixon more like Hannibal Lecter instead of the shaggy puupydog he did, while the screenwriter pressed Stone to portray Pat as a brittle, kick-your-hubby's-butt '90s woman instead of the fragile neurotic she was.
I don't think Hopkins is anything like perfect casting, but I enjoy his performance. He got Nixon's personality and mannerisms down pretty well (especially his forced grin when making a public speech) despite his lack of physical resemblance. In contrast, Allen's a good physical match for Pat Nixon but she's much more assertive than the real thing.
The supporting cast is strange. Some like Paul Sorvino as Kissinger and David Hyde Pierce as John Dean are just about perfect. Others are exceedingly out of place. E.G. Marshall as John Mitchell is way too old; Bob Hoskins as J. Edgar Hoover, way too young. Powers Boothe with his thick Texan accent as Alexander Haig? I guess Stone wanted to cram as many big-name actors as possible into the movie.
"I've never seen anyone look so *beep* ugly with just one head!"
I agree with this. Hopkins wasn't a perfect fit, but he's as close as anyone possible for the role. We should be grateful for this performance. Joan Allen is superb.
As far as the supporting cast, I thought David Hyde Pierce as John Dean was near perfection. James Woods was a good fit, but some of the others were questionable.
Oliver Stone's liberty to reimagine of history through his own prism is a bit problem with this flawed but essential film.
Stone's alternative versions of history tends to be a bit more reliable than that of establishment historians... who're just horrible, for the most part.