Sending Flat Files to a service

In the ‘Flat File Schema Developers Guide’, it is mentioned that sending and receiving flat files can be done in three to four different ways such as file polling, FTP-ing the file to the service, HTTP and email. What would be the considerations what would go into the choosing of one of the options?
Is there a preferred/’best’ method among the options? Would the decision mainly depend on the file size?

Thanks!