IIRC at least initially the FTP had some special modes to transfer binary data, whereas HTTP was not as efficient. And of course, HTTP was meant to be "pull only" whereas FTP had upload capabilities too.
The advantage with HTTP wasn't efficiency, it was that resuming interrupted downloads was typically possible with FTP but not HTTP (because ranged GET took a long while to get support in both servers and clients).