Sometimes, it sure looks like we're using HTTP to download files. This is especially true for the younger generations who's only tools for Network access have been EMail clients and Web Browsers.
However, I'll bet that even an "HTTP" file transfer is running "FTP", under the covers (unless the file is of a format that can be readily handled by the Web Browser).
So in other words, a link like "http://www.yoursite.com/file1.exe" probably kicks an FTP client to actually transfer the file. This is kept transparent to the user, which is why so many people use their Web Browser for practically everything.
Of course, if the file can be handled by the browser, then HTTP remains as the file transfer protocol.
To answer your question: FTP is actually more secure and more robust than HTTP. There is more error checking. As for external manipulation, I would bet on FTP. If security was my concern, I would not use either, but would investigate several Secure Shell options.
As for which I would use on a website: I would just let the software figure it out and simply link to the file, without specifying the protocol:
My File (MP3)