3dTshift does a temporal resampling of the EPI data set so that each "slice" has an equivalent time of acquisition. The -tshift option is 3dDeconvolve resamples the IRF outputs so that they have an equivalent time of acquisition. That allows the iresp slices to appear as they were collected at the same point when you evaluate the estimated HRF in the output of iresp option. However, you typically want to apply the temporal resample prior to analysis in preprocessing. Temporal resampling can be accomplished in 3dTshift or by using the -tshift option in 3dvolreg. As an aside, the -tshift option in 3dDeconvolve is meant for the older style IRF analysis (using minlag and maxlag) that is no longer recommended. Bottom line, use slice time resampling prior to 3dDeconvolve as the -tshift option in 3dDeconvolve does something different.
Hope this helps.