As a student who has never constructed any real world DSP application, I am inclined to ask the following.
Convolution in time domain is multiplication in frequency domain.
For low pass filtering, it is recommended that convolution of input signal [or rather samples of input signal] be performed with a sinc signal.
The frequency spectrum(or response) of a non-causal sinc signal is a perfect rectangle.
On computers, the non-causal sinc must be made causal and finite because of memory constraints. This mildly damages the frequency response of the filter.
And therefore in time domain, the truncated sinc is to be multiplied with a window function to repair the frequency response.
a. If the number of samples fed to a filter were fixed and known apriori (e.g. N)
b. It would be fairly trivial to construct an ideal frequency response H(N)
c. Multiply the input and filter frequency response and perform IFFT on the product.
d. The multiplication of the frequency responses "surgically" removes unwanted frequencies.
So why bother about sinc function and multiplying it with window function when multiplication in frequency domain is more than adequate? Or rather, under what circumstances is convolution in time domain performed?