What is the need of IIR filter? When FIR have generally good/desirable characteristics?
The biggest advantage of IIR filter is that you can achieve the filter specifications with much lesser order compared to FIR.
In a recent question (Lowpass Hann filter in Python) a transition band $\omega_{cutoff-passband}=0.05\pi$ to $\omega_{stopband}=0.136\pi$ was achieved with just $N_{IIR}=4$, but using FIR filter with Kaiser window, the order $N_{FIR}=55$. This results in much less complexity in implementation (multipliers, adders) reducing area required for implementation on a chip. In the above exmaple, for a given output, IIR requires 4 multipliers and 5 addition operations. For FIR, 55 multiplications and 54 addition operations are needed. Of course, there are provisions for optimizing this, but you get the idea..
Also, for the given example, in the pass band the phase is nearly linear for the IIR filter, so it results in much less distorted output for the pass band frequencies (stop band frequencies will get distorted but they are attenuated away by the filter). In IIR, you have the additional flexibility of placing poles as per your requirement to fine tune the filter attenuation/ripple. So it may seems FIR has advantage in terms of pure linear phase but IIR isn't far behind.
Code used to compare the order
clc
clear all

fc1=1200;
fc2=3000;
fs=44100;
rp=1;
att=40;
[n,wp]=cheb1ord(fc1/(fs/2), fc2/(fs/2), rp, att);
[b,a]=cheby1(n,rp,wp,'low');
freqz(b,a)
[n1,Wn,beta,ftype] = kaiserord([fc1 fc2],[1 0],[0.9 0.01],fs);
hh = fir1(n1,Wn,ftype,kaiser(n1+1,beta),'noscale');
freqz(hh,1,1024,fs)

Zoomed view near transition band

As you can see Chebyshev Type-1 provides a much higher attenuation of frequencies beyond pass band cutoff ($\text{1200Hz}$).