The function and purpose of a codec is to reduce the size of digital audio in order to speed up transmission. The goal of all codec designers is to maintain audio quality while compressing the binary data further. PLC is "packet loss concealment".
The most commonly used codecs for IP telephony today are G.711, G.729A, and G.723.1 (at 6.3 kbps). These were designed for (or based on technology designed for) circuit switched telephony. G.711 was designed for use in circuit switched telephony, and as such it does not include any means to counter packet loss. The common remedy of inserting 'zeros' (zero stuffing) whenever packet loss occurs leads to voice break-up and a steep degradation of quality.
G.729 and G.723.1 belong to the CELP coder class, which is also based on a coding model that was designed for circuit switched mobile telephony. ILBC is a speech codec suitable for robust voice communication over IP. ILBC (Internet Low Bitrate Codec) delivers the same basic quality as G.729E and exceeds G.729E under packet loss conditions.