Routing is the process of moving data from one network to another. Routing is unnecessary unless you have multiple networks on different address ranges. If you have different combinations of IP addresses and subnet masks, you have separate networks. If you don't, you need to perform bridging or switching. You don't need to run a routing protocol unless you have multiple networks served by more than one router (and even then, manual static routes are easier for small networks). Once you get beyond three routers, it's time to start thinking about dynamic routing protocols. If you are connecting your networks to the Internet, you will also need to think about running more than one kind of routing protocol.
INTERIOR GATEWAY PROTOCOLS
Interior Gateway Protocols (IGPs) handle routing within an Autonomous System (one routing domain). In plain English, IGP's figure out how to get from place to place between the routers you own. These dynamic routing protocols keep track of paths used to move data from one end system to another inside a network or set of networks that you administrate (all of the networks you manage combined are usually just one Autonomous System). IGP's are how you get all the networks communicating with each other.
IGP's fall into two categories:
EXTERIOR GATEWAY PROTOCOLS
To get from place to place outside your network(s), i.e. on the Internet, you must use an Exterior Gateway Protocol. Exterior Gateway Protocols handle routing outside an Autonomous System and get you from your network, through your Internet provider's network and onto any other network. BGP is used by companies with more than one Internet provider to allow them to have redundancy and load balancing of their data transported to and from the Internet.
Examples of an EGP:
Border Gateway Protocol (BGP)
Exterior Gateway Protocol (Replaced by BGP)