It reduces network traffic by collapsing multiple remote requests into one.
It increases the complexity of the remote interface by removing coarse-grained methods.
It increases the complexity of the design due to remote synchronization and version control issues.
It increases network performance introducing multiple fine-grained remote requests which return verysmall amounts of data.