By using distributed algorithms in client or frontend side, You can utilize clients resource instead of server resource, for example, network and storage. You can develop services that are difficult to scale with server resources alone. By combining with the client / server model, there is a possibility to reduce its cost.