NFC is a term used for a specific type of RFID communication. Think of RFID as electronic bar codes on steroids. Rather than needing optics that can get dirty, and bar codes that are limited in size and amount of information storage, RFID uses inexpensive and rugged electronics to store data and communicate it to the reader.
Because a tag is electronic, in addition to having a fixed tag identifier, it can contain a processor and custom application. Having storage and a processor allows for:
-adding very high level security
-storing many pieces of data in one device
Examples of interesting applications are electronic keys, contactless credit cards, contactless ticketing. Some of these applications can be (and currently are) implemented using magnetic stripe cards. The disadvantage of the magnetic stripe is, as with the bar code, limited data storage. Additionally, he magnetic stripe can wear out, it is not secure, and most glaring is that you need a different card for each purpose.
Imagine having all of your credit cards, your loyalty cards, bus ticket, concert tickets and more, stored SECURELY in ONE device. That one device will someday be your cell phone as manufacturers look to integrate more features that will drive consumers to purchase their phones.
For those that really want the details…
Formally, NFC is still being defined by the NFC Forum (www.nfc-forum.org). NFC defines data formats and data exchange protocols with a goal of making RFID products interoperable rather than purely proprietary. It is a set of specifications that define operation and interoperability of existing 13.56Mhz RFID technologies. It also extends existing 13.56Mhz specifications to include Peer-to-Peer communication.
More generally, NFC is a sub-set of the 13.56Mhz specifications focusing primarily on the ISO 14443-3 specifications including contactless smart-cards (and payment), MiFare and Felica specifications.