FileZilla is the most popular free open source cross-platform FTP client. It is available for Windows, Linux, and Mac OS X. It supports FTP, SFTP, and FTPS. After using it for years, I have never given another FTP client a try, until a month back when I needed to edit my Apache configuration files which was impossible to do in FileZilla.
WinSCP is an open source FTP and SFTP client for Windows only. It main functionality is secure transfer of files between local and remote computer. Apart from this, it has a build-in file manager and file synchronization functionality. It addition to SFTP, it supports SCP protocol and uses SSH(Secure Shell) for secure transfers. What makes it unique is the fact that it is based on the implementation of FTP protocol from FileZilla and SSH protocol from PuTTY.
Add a new session by selecting Session from the left sidebar. After you have entered all details, make sure you select the right protocol from the list.
Once you click login, it will sign-in to your server and show the default view of your remote server on the right and the local directory on the left.
Obviously FileZilla has a more eye-candy look and feel, but one reason why I prefer WinSCP is because editing the configuration files is a piece-of-cake.
Instead of using PuTTY to edit my apache configuration file, I will simply right-click the apache2.conf file in WinSCP and select Edit from the context menu, after editing the file using the build-in editor, a simple Ctrl+S keyboard shortcut will save the file instantly.
You can also sync the local directory with the remote directory. If you want to go a bit deeper, you can open a terminal with a single click and get complete control on your server. The latest version includes plenty of bug fixes and improved logging of FTP protocol events and errors. Enjoy!