FTP stands for File Transfer Protocol. It is standard network protocol that we use to transfer files from one host to another (e.g. website from your local computer to remote server).
This is done over TCP-based network such as Internet (TCP/IP = Transmission Control Protocol/Internet Protocol). In other words, TCP is a core protocol of the internet Protocol Suite, which is computer networking model, huge set of communication protocols used on the Internet and similar computer networks (intranet or extranet). TCP/IP, also known as Internet model (originally also known as DoD model), are most important protocols so far.
SFTP stands for Secure File Transfer Protocol (or SSH File Transfer Protocol). It is better in compare to simple FTP because all data transfer and management is done over any reliable data stream. It is an extension of the Secure Shell protocol (SSH) to provide secure file transfer capabilities. This protocol assumes that it is run over a secure channel, such as SSH, that the server has already authenticated the client, and that the identity of the client user is available to the protocol.
More details about this topic can be found on many websites, so don’t be afraid to research if you want to get more familiar with networking.
FTP/SFTP Software
FTP/SFTP is managed with softwares like FileZilla (All platforms), FireFTP (Firefox based), WinSCP (Windows OS), Transmit (Mac OS X), Cyberduck (Mac OS X), SmartFTP any many others…
Some of them are free open source solutions, others cost a bit, but it’s all up to you to decide what best suits your need.