I recommend taking a look at the "Normalisation" article in the design section of our Database Development FAQs/Tutorials (at the top of this forum), because it covers this topic in a bit more detail.

The design of your table(s) depends on your situation, but as a general guideline more tables (up to a point) means more efficiency, in terms of database size, manageability, reduction of errors, and usually speed of queries too.

The downside of more tables is extra work in your program etc, so you don't really want to add more than you actually need. sparbag's example of an address book is one where a small amount of tables (perhaps just one) is actually better because there is unlikely to be repetition, but that kind of situation is rare.