The FTP/SSL and SFTP protocols are actually different protocols.
The Ftp class is there for plain FTP and FTP/SSL servers, whereas the Sftp class is used to connect to Sftp servers.
The FileTransferClient is our new class that encapsulates functionality of both Ftp and Sftp classes. It is good for code sharing if your program has to be able to connect to both FTP and SFTP servers.
With it you will be able to write code once and of course, still have access to the Sftp and Ftp classes where needed. The FileTransferClient covers the basic features, but cannot cover all the features due to the different nature of FTP and SFTP protocols, but in these rare cases, you can always use the underlying Ftp or Sftp class.
So the decision what classes or product to use depends on what you want to achieve:
In case you need both FTP and SFTP they are both included in Rebex File Transfer Pack for .NET (1-dev price for $599). You get the FileTransferClient as part of the pack and you can decide whether you want to work with Ftp, Sftp or the more general FileTransferClient class.
If your requirement is just one of the FTP/SSL or SFTP protocols and there is no outlook that you will have to support the other one, then choose either the Rebex SFTP for .NET (1-dev price $449) or Rebex FTP/SSL for .NET (1-dev price $449).
If you can freely choose what protocol to use, I would certainly recommend the SFTP protocol over the much more problematic FTP/SSL protocol(in terms of configuration, problems with network, firewalls etc).