Why did a pool become inactive, and who made the decision?

Pool inactivation is the pool validator’s decision. They can inactivate themselves through the interface, or they may be inactivated if serious performance issues are not addressed. In the current implementation, a pool can be inactivated through a governance multisignature process in exceptional cases where there are too many block skips or if a node is too weak and works too slowly (i.e. if the validator significantly degrades network performance). This is only implemented if a deficient node significantly impacts chain stability.