Jeff Mlakar has a troubleshooting guide for the Distributed Transaction Coordinator:
Microsoft Distributed Transaction Coordinator (MSDTC) is a Windows service that coordinates transactions spanning multiple databases. It is a transaction manager that allows applications to include several different sources of data in one transaction. MSDTC coordinates committing the distributed transaction across all servers enlisted in the transaction.
An example here would be a process on one machine calling a stored procedure on another machine which in requires data that changes together in a transaction.
The MSDTC service is running on each of the servers to manage the successful commit (or rollback) of the transaction across all servers enlisted in the transaction.
My MSDTC experience is generally negative, that this is more trouble than it’s worth. But sometimes you’ve got to use it, and when you do, it’s nice to have the skinny on it.