At the end of the day they both ultimately complete the same task.
I believe the reason for FTP existing in the pipeline is to support additional functionality, I'm by no means an expert as I am actually new to Buddy myself. You can however perform various actions with your repo before you actually deploy it.
- You can compile / process files using dedicated pipeline actions. For example, you can zip files before deploying them to the server.
- You can add unversioned files to the filesystem with drag & drop (eg. configuration files).
The main feature I see myself using the near future is the File System support that this action adds, I plan to test and then push updates to an sql database, something I can include in my pipeline without including the raw .sql file in my repository. (one time database changes etc)
Buddy actually have a great guide that I found very useful, might be worth a quick read if you haven't already. [guide]
Although probably not applicable to you, some of my production servers don't actually have git installed so being able to upload through ftp is a life saver, not to mention some of my clients use shared hosting (can't run ssh commands).
I can imagine this is one of the main reasons people use it instead of running an ssh command, and if your a little clumsy like me having a GUI makes sure I don't make a typo in my command.