Lookup VS related lists

Lookup VS related lists

I am not sure how to do this exactly so I will explain what I am trying to accomplish.

My staff looking at a lead needs to pick a name of a company from a dropdown list.  Once the company is selected in the dropdown, the other related information for that company needs to be filled in.  The mailing address, etc.

For now, I made a workflow rule that populates certain fields when certain conditions are present.  The problem is that is time consuming to add in each time a new company's information.  There will eventually be hundreds of company's listed.  Too time consuming to write that many workflow rules.  

So digging around I found that I may be able to accomplish this by using a lookup.  I can have a separate module with all the company's info and have it related to the leads module and just look the company's name up, and poof... all the info fills in.  

I don't how to exactly do this... help from anyone who has done this would be greatly appreciated. 

The other option I read about was related lists.  Not entirely sure how that works.  It was put out there as an example of a list of products for a lead.  This may work if I understood it better to what I am trying to accomplish here.

Any insight on the two options and how to do it would be greatly appreciated.