An FTP client (FTP = File Transfer Protocol) allows you to connect your local computer to a remote computer (usually the server your host owns) and transfer files between them. This is the best way to edit your theme files, and if you’ve crashed your site (messed up while making a change to functions.php, anyone?) it’s necessary to get your site to load properly again.
When it comes to FTP, my favorite client is Mac-only: Transmit. It’ll only set you back $34, and I promise it’s worth it!
If you want something cross-platform, FileZilla has been a long-time solution, but it’s not a favorite of mine.