I think Nintendo just about perfected the D-Pad on the day they invented it, and then they spent 20 years trying to "fix it".
The top of the D-pad is a hard plastic shell. Underneath it is a piece of rubber with some points of metallic coating painted on, which connect a circuit when they get pressed down. A ball prevents more than two of them from connecting at the same time, and the plastic edges holding it inside the casing make eight points, so it has a natural affinity to move cleanly in eight different directions. The minor divot in the center of the surface helps with grip. The buttons have similar hard plastic shells, and the lesser-used Start/Select buttons give you direct access to the rubber layer, for a different feel. This is a genius design.
The NES D-pad is 20mm across, and has 10mm buttons.
The original GameBoy is exactly the same, with some minor grip differences.
The SNES made (IMO) the only improvement to this formula, by bumping the D-pad up to 23mm.
The GameBoy Pocket (I believe, I don't have one handy to measure it) was the first Nintendo system to make the buttons smaller, having an 18mm D-pad and 9mm buttons, which carried over through the GBC and the GBA. The smaller buttons were part of the entire point of the GameBoy Pocket, but nobody ever hid the fact that they sucked on the GBC and GBA. But they did the job.
With the N64, Nintendo went too far, making a D-pad that was 25mm, and an assortment of buttons from 12, to 11, to 9mm (the 9mm buttons even had customized angles to them, so they couldn't use GameBoy buttons). Going too far is not an improvement. But then again, it's not like it mattered, because Nintendo gave us analog. You see, when they give us revolutions, they're allowed to botch everything else.
The GameCube's D-pad (now an afterthought) is the crappy old GBA D-pad, originally designed for spatially-limited enviroments, and they put it in and uncomfortable position to boot. The buttons themselves are a chaotic mess. A retard-proof 16mm button. A beautiful 10mm one that looks sadly puny by comparison. And some strange kidney things.
For the GBA SP, Nintendo dared to throw out their entire rubber-pad button technology, replacing it with cheap mouse click sensors. But with an 18mm economy D-pad, it actually works, probably because the range of movement has been scaled down to match the punyness of the pad. They also too the opportunity to shrink their buttons even more, making them 8mm.
For the Nintendo DS, something strange came over Nintendo, and they gave us back a 23mm D-pad. But that doesn't work well with cheap mouse-click technology! And they shrank the buttons yet again. 7mm. Too far in the other direction. And yes, I know, they did both because they wanted the DS to look symmetrical and ambidextrous. I don't think it worked or was needed.
I don't have a micro, but supposedly it went back to some sort of rubber technology in a puny form. Which is apparently what the DS Lite is using. And what the Revmote will use.
FYI, Sony stole the 23mm D-pad and 10mm buttons for use in the PSX and PS2 controllers, and the Hori pad uses a 23mm D-pad, but it's unfortunately saddled with the chaotic GameCube button configuration, while a GBA setup would've been better and more appropriate.