Analogies are like vacuums, they suck.
The OSI model was invented to describe the different roles each layer of networks stacks serves. Each layer is fairly small and relatively easy to understand. IP doesn't follow the model precisely, but it's still somewhat close.
Ethernet - starting at the bottom layer, Ethernet is the wire protocol that allows computers to use; it generally involves itself in the details of the physical connection and how it the computer actually shovels data over the wires plugged into the back of your computer.
IP since Ethernet already has the physical details taken care of, the next logical thing that needs tending to are the most generic logical details. IP basically takes care of the logical addressing and intranetwork concepts (the collection of computers "on your network"). Consequently, computer that aren't on your network are automatically on some other network, and there are rules as to how IP gets traffic off your network to another.
TCP and UDP these are just two of the most popular protocols at this layer, there are many others and people are generally less familiar with them. TCP is the lowest layer that keeps track of connections; like when you connect to a web server to request a webpage. UDP is a similar protocol, but explicitly does not keep track of connections. This makes UDP "lighter" and simpler, if you just need to send a single message this makes more sense, similarly if you need to minimize data send (like online video games).
HTTP, DNS, etc Built on the previous layers are the actual application protocols. As you probably know, there's literally millions of them out there. These define the data structures that are sent across the network and allow different programs to "speak the same language".
SSL and IPSec There are other protocols which actually situate themselves inbetween other layers. SSL sits between TCP and HTTP for instance to produce HTTPS; the same communication but with encryption (generally). IPSec is a different security protocol that sits between IP and TCP, it works somewhat differently from SSL, but generically provides some of the same protections.