One of the best FTP clients I have ever seen is lftp, and what is even best it’s open source on Linux, if you want to use it on Windows you will have to compile it with Cygwin.
Why would someone use lftp, when there are alternatives like FileZilla, and a lot of other ones. Yes FileZilla is good and it’s free, but some of the options that are available with lftp are really good and helpful. And I know of a lot of people that use lftp for server backups on Windows Server and Linux machines to do recursive backups and mirroring.
For a complete feature list you can see this page.
Some interesting information about this application can be found on this page, there are various examples of how to use it on their page.