SmartFTP is OK - I found it problematic with permissions on some machines but by and large it does what is expected and does it quite well.
WS_FTP Pro has been my mainstay for more years than I care to remember now, and I wouldn't change it for the world. The only program I've found that appears to better it is Rhino FTP Voyager, but I know WS_FTP Pro inside out and so I'm sticking with it.
That said, you asked for free software so the above is all academic.
Take a sneaky peaky at FileZilla: click here
It's a free, Open Source application and does things pretty well. I've managed to make it fall over a few times, but only when I deliberately challenged it with unrealistic (enormous) file transfers
For general web use it's fine and, if you want to dabble with it or if you have slightly more exotic requirements, there is also a FileZilla FTP server application, which can make a potent and handy combination in conjunction with the FTP client.
Most web host control panels feature browser-based file management which can be used quite effectively. Some are a little cludgy, but they still work reasonably well.
Just my thoughts of course.