One reason why one would use a TO is if the application uses remote invocations. To reduce chattiness over the network, multiple method calls are wrapped around a single method and all information/data required is sent to the method via a single TO.
The second reason would be to define a crisp interface. Method invocations can be remote or local, however we want to clearly define the method to be invoked to achieve a given functionality. E.g. we can define a insurance Quoting Engine in two ways. One have setters for each of the parameter like age, face amount, gender etc on the Quoting engine or define a single TO encapsulating all the required attributes. Advantage is that addition of a new attribute/property does not affect the interface signature.