The filter in 3dBandpass is an FFT-based filter. That is, it does what Paul Taylor says: transforms the data to the frequency domain (from the time domain), sets to zero the values it doesn't "like", then transforms back to the time domain. This type of filter has some ringing artifacts in the time domain -- the impact of these depends on what use you are making of the filtered time series. For the purpose of correlating with other time series (as in InstaCorr), this type of ringing is not a problem IMHO.
The FFT approach doesn't work well if you are censoring the data after filtering (which is what some recent FMRI papers have described). If you have bad data points, you can do 2 things in AFNI:
(1) if the data points are spike, de-spiking helps
(2) you can censor the bad time points, in which case we recommend the use of afni_proc.py for the filtering operations, which will do band passing, censoring, baseline removal, AND car waxing -- all at once.
For resting state FMRI and with TR >= 2 s, it's not clear that bandpassing is of any particular value, by the way.