A routing protocol is a protocol between routers to exchange their routing information/tables. OSPF is one of those protocols that's very popular for internal route exchange (an interior gateway protocol IGP). Running a routing protocol is only necessary on a larger network where it becomes impractical to manually configure routes.
ISPs need to exchange routes on another level and with more control. They use an exterior routing protocol EGP, must prominently BGP.
Routers use no special protocol for their forwarding - routing is a mechanism in IP.
Switches create segments on the data link layer. All nodes share a common broadcast domain and everyone can directly talk to anyone else. Usually, you'd want some control over your network: Put IP phones in one network, normal users in another and security-sensitive devices in yet another. Traffic between those networks - across a router - can be controlled by policies.
Also, a single, giant broadcast domain doesn't scale well. It's very common to limit each segment to roughly 200 devices (a /24 IP subnet). Anyone building a network for 5000 users (across numerous buildings and probably several geographic locations) with just a single segment seriously needs to be fired.