The Universal Integrated Circuit Card (UICC) is the removable card bearing a silicon chip which holds 3GPP system subscriber information. The UICC is a general purpose card having both non-volatile memory and a general-purpose processor. Thus while it is used, in a 3GPP terminal, to hold (U)SIM information / applications, it can also be used for other purposes, possibly unrelated to telecommunications. A common use of UICCs is in the well-known credit card format, and there is no reason why a single card could not hold (U)SIM functionality in addition to electronic purse / credit card functionality, or indeed any other application / data.
The Subscriber Identity Module (SIM) is the collection of functions which personalize a 3GPP terminal. The SIM contains static information about the services subscribed to, the phone number, the identity of the home network, a list of preferred roaming networks, and so on. The SIM also contains storage capacity for the subscriber’s contacts’ phone numbers. The term "SIM" is often misused for "UICC". The SIM concept was created during the early development of the GSM standards, and second-generation (based on GERAN) terminals up to and including Release 4 use SIM functionality.
For third generation systems (based on UTRAN), more complex functionality was called for, and the SIM evolved into the USIM or Universal Subscriber Identity Module. Release 99 3rd generations onwards use USIMs rather than SIMs. From Release 5 onwards, both second and third generation terminals use USIMs (though to maintain backwards compatibility with older networks and terminals, later Release 2nd generation USIMs are likely to implement Rel-4 SIM functionality in addition to Rel-5 or later USIM functionality).
For further information on the 3GPP Release system, see the 3GPP Release page.