the transform of a square box, moving average in td, or ideal lp in the fd is a sinc function.
but a sinc funtion is noncausal and iir. the fir filter can get the ideal frequency response at up to N frequencies. the window is used to trade off exact precision at these N frequencies for improved precision at the frequencies in between. it is also an easy way to design a filter.
simple moving average is used because it is easy to design and implement.
---------- Post added at 19:08 ---------- Previous post was at 19:02 ----------
oh, and the simple moving average can also be done using convolution, but if you need to do complex multiplies, why not choose a better filter? eg, one based on the actual bandwidth or requirements of the system