Fast Fourier transform does not extract any frequency bands. It only shows the frequency content of a given signal. But while applying FFT, one should be careful about choosing the sampling frequency. As an example, if a signal contains a frequency range of $0-100\,\text{Hz}$ and $f_{max}=100\,\text{Hz}$ $$f_{max} = \dfrac{F_s}{2}$$ and the sampling frequency $F_s \geq 2\cdot f_{max}$ of the signal should be greater than $200\,\text{Hz}$ (according to Nyquist frequency rule). Then FFT will show all the frequencies present in the signal i.e. $0-100\,\text{Hz}$.
If the sampling frequency is less than $<200\,\text{Hz}$ then aliasing will occur and will provide an aliased frequency representation.
On the other hand, band-pass filters eliminate some frequency content of the signal. As an example say one signal has $0-100\,\text{Hz}$ frequency components but you are interested in exploring the frequencies of range $10-30\,\text{Hz}$, then one should use a bandpass filter.
As a system identification researcher, I can provide an example where FFT and bandpass filters are used. Say a signal has its main frequencies in the $10-30\,\text{Hz}$ range. But the signal is acquired with a sampling frequency of $200\,\text{Hz}$.
Performing FFT will show frequency components from $0-100\,\text{Hz}$. Say there are measurement noises all over the frequency ranges. I use a bandpass filter to get rid of that measurement noise.