Smart cards are used to store data, just like a flash drive or memory stick. There are two types of smart cards, "contact" , and "contactless".
The "contact" smart card requires that you place it into a card reader so the the reader can connect with the little gold contacts on the card. "Contactless" smart cards are capable of being read by the card reader from a short distance away - you don't need to actually insert them in a reader. You can both read and write data to both type of smart cards, but in general, the contact smart card can hold more data and can be read and written to quicker.
Most RFID access cards are simply an electronic number. When they are held in the vicinity of a proximity card reader, the number is sent from the card to the card reader and is passed along to a computer somewhere for processing. Most RFID access cards are "read-only", and only allow you read the number that is programmed on the card. However, there are a few types of RFID cards that are read/write and allow you to store a small amount of data on the card.
So, the RFID card and smart card operate on somewhat different principles, but both can do the same sorts of things.
As a general rule, the RFID card would be better for something like a card access control system on a door, because it would have a longer read range, but a contactless smart card could be used in this application as well.
A smart card is better suited to store larger amounts of data, so is most often used for things like medical records, biometric templates, etc.
GPS has nothing to do with either type of card. Neither a smart card nor a RFID card can read GPS signals. Because some smart cards can be equipped with a small microprocessor, I could see how a GPS interface might be possible in the future but I can't imagine why this would be needed.