I have searched quite a lot on shift registers for a recent project, and a few things kept coming up that I can throw my ten cents worth in. ( O&OE T&Cs apply and everything IMHO ;) )
There have been several queries about what a daisy chainis , see http://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Daisy_chain.JPG/800px-Daisy_chain.JPG for a photo of the original.
Many years ago before playstations etc, kids used to thread the stalk of one wild flower through a slot in the next and so on, This is like us sending our data through one shift register ( say a 595 ) which pushes the stream of data out the other end 8 bits later to the next chip.
In the otherwise excellent tutorial on Shiftout, one of the comments in the code says
// turn off the output so the pins don't light up // while you're shifting bits: digitalWrite(latchPin, LOW);
IMHO the output pins will not change until the latchpin goes high... You can fill all the registers and then flip the latchpin low then high and then the LEDs will change.
The 1mFD cap on the latchpin I think must have been leftover from an experiment to delay the latch if it is driven high at the same time as the shiftreg clock ( I know I experimented with the same idea when I had the wrong timing ) The cap should not of course be there.
If you are trying to run long daisychains ( I have run 19 but not with the Arduino and also very slowly ) and want to push the speed limit, why not loop the last shiftregisters' output back to the micro, and compare the last byte sent previously with what comes back this time, if no bits are lost it should be the same...
There are a lot of posts about software dimming, I suppose they want different characters to dim, but for general dimming I have just used the /G blanking pin run from a pwm pin on the Arduino.
Sorry if I have repeated stuff