The principal advantage is some applications is the additional
computational power that can be brought to bear. Another is the
possibility of having multiple versions of each application piece so
that if one is busy, another can be used.
The principal disadvantage is communication overhead and the lack of
a common shared database, since data used in individual pieces may
need to be communicated. It should be noted that the communication
between different pieces can completely swamp any computational
advantage.
Further, security can be more easily maintained on a single platform.
Ed Feustel
Dartmouth College
There is splitting, which Ed addressed, and there is replication across
machines, which gives you failover.
One can have a shared database which is on another (set of) machine(s).
Google splits their search application across a large number of machines.
Eric