There is a bandwidth and hardware resources overhead to FEC. Have a read of @Erik_deBie 's article here Introducing Forward Error Correction (FEC)
As you say its all about reducing the need for data retransmission (in the case of TCP) and improving the result of UDP stream integrity.
Yes of course, packet loss on any WAN link has the potentially to cause data corruption. Its why WAN smoothing was introduced originally and FEC is in my mind an improvement on WAN smoothing.