Why bother impluse invariance, bilinear transform?
Simply put, the digital implementations of the IIR filters (bilinear) are much cheaper in terms of computation time and memory.  An FIR or FFT takes much longer to process than an IIR, and requires much more memory.

An FIR requires you have a buffer of the length of the FIR, and another buffer to hold the FIR values.  For every sample, you must convolve these two buffers.  Since FIR filters are often very long (hundreds of taps) it can be difficult to get enough memory or processing power in a small embedded system.

Even in desktop systems where you have gigabytes of RAM and gighertz of processing speed you can run more filters using IIR than you can FIR filters.  

On a desktop PC, your main limit would be processing speed rather than memory.  In an embedded system, you often have limits on memory and processing speed.

Using an IIR implemtation let you get away with cheaper hardware or to get more out of the hardware you have.

An IIR filter can be implemented with a handful of multiply and add steps for each sample.  An FIR requires as many multiply and add steps as the length of the filter.  Using the FFT to implement the FIR will save you some computation, but it will still take much more processing and ram than the IIR.

Another thing is that an IIR filter with a sharp cutoff isn't much more complicated than one with a shallower cutoff.  An FIR requires some minimum of taps to work at all (depending on sampling rate and cutoff frequency,) and making it sharp and clean requires a greate many more taps than that minimum.