If you're considering a Pi for an ftp storage solution, you can get a VPS for $5/month these days. Wait until black Friday or something and/or do digging for old promotions and you can even make that an amazing make-your-friends-jelous VPS for $5/month.
The point is that it's both not behind NAT and it's got bandwidth that makes your home line look like dialup in most cases. The concern here is not CPU. When you decide you want to download that hour-long TV show or some such, you'll thank yourself for not going through your home network. That said, if you want to use it to download rather than upload, you can without a problem, and accessing it from the same network should be amazingly fast.
Now, as for the Pi itself? I kinda have been considering one for robotics. I think that if I can get access to a 3D printer, I've got an accessible way to design stuff for it, and I'm taking intro to embedded systems in the fall, so we'll see. Not sure if I want a Pi or, given my interests, something with a dedicated DSp processor: part of me is tempted to attempt to build a land line phone from scratch, including all dialing and answering software (yes, really. It's not as hard as it sounds). Again given my interests, part pof me is also more interested in trhe parallella, whenever that comes out.
As for web sites, may I humbly suggest Mercurial, Nginx, and Nikola? Nginx is an easier web server to configure than Apache in my experience and Nikola is a static blog generator with a *ton* of capabilities. What I did for my personal web site is this: Nikola on my laptop and the server, Nginx on the server, mercurial on both. Set up a mercurial repository for the blog, a separate directory for the generated output, write a script to generate and copy the output of the blog, and install it as a mercurial hook. This takes an hour or two the first time. After that, you just write a new post, add a commit message in mercurial, and "hg push" at a terminal. The net result is a web site that can be rolled back, branched, forked, backed up, and already exists in two places in case of catastrophic failure. And it takes next to 0 CPU to serve, can be written in like 10 different human-readable systems (markdown, LaTeX, ReST, iPython notebooks, anything supported by pandoc)... Local testing of the blog before deployment is "nikola build" and then "nikola serve", no extra setup required. One of my cooler finds in a very long while.
My BlogTwitter: @ajhicks1992