filtering difference b/w freq and time domain
Multiplication in the frequency domain is the equivalent of convolution (digital filtering) in the time domain - one of the fundamental properties of the Fourier transform.
Using an FFT in practice to filter requires stitching together overlapping chunks and a large delay if in real-time.  However in the frequency domain you can immplement brick-wall filters as easy as any, which is much more costly in time-domain.
The algorithms for fft convolution include &quot;overlap-add&quot; and &quot;overlap-save&quot;, these are useful search terms on the matter.
The Python scipy.signal library has an implementation of convolve that automatically selects direct filtering or fft convolution based on an estimate of which will be faster.