Most likely to separate your circuit from port's data lines, but I don't see many advantages of doing so. A buffer IC (such as 74HC/LS245, this answers your 2-nd question, it is 8-bit non-inverting bus transceiver) will not protect PPort unless you use transient voltage suppressor on each data line or use optical isolation ..
what i want to say is , 7 bits of data and 1 clock pulse for my 8-bit shift register parallel in parallel out... but m having problem while matching all 8 signals.. the clock pulse doesnt match with other signal and strange data is saved on my 8 bit shift register..
thats why someone told me to use buffer so that my all 8 bits comming out of the computer will be matched and same as clock pulse so i could save correct data on my shift register.
( remember m using 7 bits of data 1 bit is always ground both in and out of 8 bit shift register )
So this is not a buffer problem but a timing problem. If I understand your post you use 7 bits for data transmissiona and the 8th bit as clock.
One option will be to use STROBE signal (pin1 of the Parallel Port) to write data into the shift register and disregard the clock bit. Can you use the STROBE signal?
If not, another option is to use a short-pulse monostabile with a delay trigged by the clock-bit. This will ensure that data bits carry the valid levels during transition on the click bit.