An apparent typo that could be confusing in the second example on the page arduino-0015/reference/ShiftOut.html
int data;
int clock;
int cs;
digitalWrite(cs, LOW);
data = 500;
shiftOut(data, clock, MSBFIRST, data)
digitalWrite(cs, HIGH);
The shiftOut statement should be ...
shiftOut(dataPin, clock, MSBFIRST, data)