FTP is "File Transfer Protocol". As the name implies, it is used to transfer files. With FTP you must enter a valid username and password to be able to upload / download files. There is something called "anonymous FTP" where you type the generic username "anonymous" or "ftp" and then it lets you enter anything for the password. Usually this "anonymous" user does not have permissions to upload, only to download. When you use a web browser and the URL starts our "ftp://" instead of "http://", then you are using anonymous FTP.
There will be an FTP server and an FTP client. An FTP server is a program running on a computer that listens for incoming FTP traffic. An FTP client is a program you use to talk to an FTP server, in order to download/upload files. Most computers (Windows, Macs, Unix, etc.) come with an FTP client program. Most web browsers can be used as FTP clients.
If you have Unix or a Mac, your computer comes with an FTP server, but it may be disabled by default. Windows does not typically come with an FTP server (Microsoft does make one, but I think you have to do some kind of custom install in order to install it). Their FTP server is a joke anyway.
If you want an FTP server, I would recommend you go out to SourceForge http://sourceforge.net/ and search for one. There is a wide variety of them available. I am most familiar with ProFTPd and WU-FTPD, which are both made for Unix (but may have been ported over to PCs). I've seen some Java based FTP servers that looked rather simple.
Lastly, realize your FTP traffic is not encrypted in any way. That means other snooping on your network traffic could see your username and password (not a big deal with anonymous FTP). You might consider using SSH's "scp" or "sftp" instead, if that is an option. Search Yahoo for PuTTY for windows based SSH software.