The STONITH daemon is a cluster-wide abstraction for STONITH topology.
That is, an individual STONITH device can only reset certain machines in the cluster - perhaps one, or perhaps all. The STONITH daemon hides these details of the STONITH device topology and provides a single uniform interface to the STONITH devices in the cluster.
This makes for a uniform interface, and also abstracts it to a high enough level that entities other than the CRM can use it, if they wish. In other words - it's a reusable component.