The current problems are security, upload bandwidth, and NAT traversal. As well as that your computer has to be on whenever your friends are accessing your stuff.
If (when) ipv6 becomes widespread, we will be able to cut out the NAT. If lots of people start doing it, then the upload bandwidth that ISPs give you will probably increase. And security should be solvable for most consumer purposes when the quality of software (both server and OS level) goes up -- it needs to ensure that your firewall is properly configured, etc.
So we're left with leaving your computer on. And that's an expensive problem, because it's not very power-efficient to leave a desktop computer running all the time to serve a website that gets two hits a day. That actually seems to be a strong argument against everybody running their own webserver. But maybe it doesn't really matter, because a lot of people run a computer all the time anyway. I'm not sure.
I also want to use it for things like storing scanned images and possibly home automation/monitoring.
In short there might be a market niche for a low-power headless server to solve this kind of situation
I remember in my freshman year of college when students discovered the library sharing feature in iTunes. Word spread pretty quickly, and soon most folks were using their laptops to do what the Zune tried to popularize: sampling the music of peers for free over the network in order to connect over musical taste and find new bands. I think what the author points out is that other programs have similar features (such as iPhoto being able to share a folder of images to the network), but they are limited to local networks and can't be reached from everywhere. Why not institute a system that allows that same "share my photos" check box to make them available on the web? Then I, and many of my friends who have faced the same problem, won't have to create a facebook account just to be able to see a friend's wedding pictures...