It is literally impossible to control an IIR (Infinite Impulse Response) filter. This is also evident from the name of the filter as well. On the other hand, a linear phase is always possible with an FIR (Finite Impulse Response) filter.
Stability is another difference between IIR and FIR filters. An IIR filter is unstable most of the times whereas the same is not true when considering an FIR filter; which is stable most of the times. An IIR filter has limited number of cycles whereas an FIR filter has no limit to the number of cycles.
It is possible to implement polyphase in an IIR filter while it is always possible to make an FIR filter casual. Moreover, IIR filters are used for nonlinear applications while FIR filters depend upon linear-phase characteristics. Even though the nature of delay characteristics in FIR is much better, but the amount of memory required is considerably high. Another difference between IIR and FIR filters is that the former depends on both i/p and o/p while the latter is dependent only upon i/p.
Implementing an IIR filter can be difficult and IIR filters tend to become unstable at times. FIR filters on the other hand, remain stable. When high-order tapping is required, an FIR filter is better while an IIR filter is better for lower-order tapping. An IIR filter has both numerators and denominators while an FIR filter only has numerators.
IIR filters are used in situations where system response is infinite. For situations involving zero system response, FIR filters are used. IIR filters are recursive while FIR filters are non recursive. Last but not the least, IIR filters are popular due to their high computational efficiency and short delays. FIR filters can cause problems because their length becomes too much in digital feedback systems.