FTP is plain text file transfer protocol, there's not really any good reason to use it anymore IMHO
FTPS is an extension to FTP to support SSL/TLS
SFTP is "Secure Shell File Transfer Protocol" (e.g. over SSH)
We had a project once where the customer asked us to use "SFTP" to manage some critical files. This was handled in-app, we added the functionality, did our testing and moved on.
Later when we did integration testing with their system we discovered that what the customer actually meant was to ask us for "FTPS" and we had to rip out the SFTP library with FTPS stuff.
Something similar _almost_ happened a couple of years later in another project (due to miscommunication by someone doing requirements gathering) and this time we caught it early.