Here is an informative and well presented presentation by Andrey Shevchenko, CTO of Crocoblock, on planning your project data structures. It covers a lot of the areas where people often question when you should use a custom table or meta fields, as well as when you should use taxonomies or meta fields.

Planning Website Data Structures
Andrey Shevchenko @ youtube.com • 5 months ago