All free options:
Option 1 (for big files): Use bittorrent to send files out for maximum efficiencty.
Option 2 (for updating big ISO files): Use a program such as Jigdo.
Option 3 (for small files): Upload the file(s) to some free HTTP server such as brinkster.com, geocities.com, etc, etc.. Then hand the link out. (with most of these sites, you'll need to setup an html page with a link to the file as direct linking will not work)
Option 4: Use some newsgroup to host the file for you.
Option 5: Get a free shell that supports FTP. (if you don't know what a shell is, then I suggest you forget about this option)
Option 6 (the non-third party software/hosting option that still uses DCC for a group of coordinated people): Send the file to one person, then have that person send the file to another person, while you send the file to another person, then that person sends to another person.. Just use distribution logic if you need to distribute files within a group. (the 'coordination' could be handled by scripts that people have loaded)
Option 7 (the good ole fashioned option): Just send the file to each individual person yourself, patiently wait for the transfers to finish, and don't send humongous files to people.
-- Edit (everything below this was added in the edit)
(there are other illegal ways to get your files hosted places, but I'd rather not go into that.
)
Non-free Options:
Option 1: Get a better ISP. This may not even involve spending more money.
Option 2: Pay for a lot of webspace and bandwidth on either a remote shell or HTTP server.