A router can only have one protocol active at a time no?
That would be pretty limiting. What if you have both an exterior routing protocol (to talk to networks under control by other administrators) and an interior routing protocol (to talk to networks under your control)? What if you have to link two existing networks that already use different interior routing protocols?
In the Cisco world, you typically configure an "administrative distance" for each routing protocol. The defaults generally give interior routing protocols priority over exterior routing protocols and static routes the highest priority second only to interface routes.
In any event, even if you only had one dynamic routing protocol active, you can still have this issue. Say you have an interface in a particular network but also receive a route to that network from a router you reach over a different interface. You want to use your interface in that network when it's up, but when it's down, you want to fail over to use the router that still has a link to that network.