When it comes to picking memory to upgrade machines, my knowledge of computer architecture has not kept up with the state of the art. I decided that my shuttle PC (which I've been building and configuring for a month now) really needed 2 gb of ram, so I picked out a highly buzzworded dual 1gb kit on Fry's, and waited eagerly for it to appear. It arrived and looked right, so I popped open the pc's case, popped out the paltry 512 mb ram in there now, and popped in the new ram... except it didn't fit. I checked over and over that the notch was in the right place, but the dimm just wouldn't go into the socket. At a loss, I compared the new dimm to the old dimm. Looks the same... but wait, the notch is about 2 mm offset on the new dimm from the old one. That's why it almost but not quite fits.
A flight of google research revealed that I had bought DDR2 ram, but my motherboard had sockets for DDR ram. DDR memory and DDR2 memory are the same size and shape, cost about the same amount of money, and look pretty much the same... but one has 220 pins and one has 184 pins and the notch is in a slightly different place... by a few millimeters.
Hardware designers? Hello, meet industrial designers. Things that are different should look different. If two parts don't fit together, they shouldn't almost fit together. Make failures obvious. If the notch was offset by a centimer and not a millimeter, the difference would have been clear. If DDR2 was a centimeter longer or shorter, the difference would have been clear... and I should remember not to attempt to upgrade my own hardware.