In general, everything said by dlsayremn is correct. But things get more "fuzzy" if you get into higher level layer 2 networking. Which is what you are talking about here....layer 2 networking.
To clarify, the "routing" a switch does is better described as frame forwarding. A switch has memory called a MAC table which it associates a given MAC to a given switch port. This why switches provide better network performance over hubs. The IP addresses are not kept at the switch (except for more powerful and expensive managed switches.) Each computer has what is called an ARP table which it uses to translate IP addresses to MAC addresses. Every NIC has a unique MAC address which consists of hexadecimal numbers.
So that's a quick and dirty discussion of layer 2 networking and I've probably left a lot of details out as layer 2 networking can grow to a prolonged discussion.
When wiring two switches together also known as cascading or uplinking, you have to do some planning. Switched traffic is ALWAYS fastest if the traffic stays within the switch. The reason being is that each switch has what's called a back plane which has a set bandwidth which will always be greater than the switch ports on the switch. If you have to use multiple switches to extend out layer 2 connectivity, it is best to design the connections in such a way to keep all devices which will push a lot of data across the network on the same switch. If you have more than one device communicating at the maximum wire speed of each network port, you bottle neck will now be the SINGLE cable connection you have between switches. With streaming video and file sharing, it is really easy to saturate this link. The fix for this as I stated previously is to keep high bandwidth using devices co-located on the same switch. If this isn't possible, you have to step into managed switches which will allow you to group individual ports together as a single virtual connection between switches. Of all the switches I've seen, the max is 8 physical connections can be grouped under one virtual pipe. Another alternative which you don't see much on unmanaged GigE switches is the implementation of high speed uplink ports. Some unmanaged 100Mb switches include a single or a couple of GigE uplink ports meant to connect up to other switches. Being that the GigE uplink is much faster than the 100 Mb ports being used by regular hosts, you can get some assurance this uplink won't be as much of a bottle neck. The problem with unmanaged GigE switches is that for them to have a faster uplink port, you are looking at 10Gb ports which are extremely expensive to implement.