Why Systems Become Distributed: Benefits and Costs