We still have huge user experience issues with decentralized systems which make it more awkward for the average person. It's sad, because I (like most programmers) want a distributed system, but it's rather hard to get it right.
BitTorrent Sync seems to have done a really good job of making a decentralized system easy to use. Their pre-shared-key method of connecting computers is really simple for people to understand, and supports a wide variety of potential use cases.
I think i have a good plan to solve those issues and some more.. i hope i will throw it to the lions here at HN real soon.. so the hackers can validate the reasoning behind it, and play a little bit with it .. but you are right... it was hard to get it right..