What about the other SDN protocols? Notably Openflow and the various Overlays. On the surface Openflow can be seen as a Centralize Control Plane approach while Overlays may be seen as distributed. The reality is that yes, in Openflow you need to define flow rules centrally but you can make these rules proactive to reduce reliance on the controller. In the case of overlays, you need some centralize entity to manage end point addresses across the fabric. If this overlay address management entity goes offline, your network could break significantly.
In summary, the centralized model does give us the advantage of agility and flexible network management but you do need schemes that would reduce the dependency on controller reliability. For example in Openflow, you can implement proactive flows to ensure less dependence on the controller.