Let's say you are building a Project Management solution where each Project equals one site (SPWeb object). Each project has it's properties like: Project Manager, Budget, Customer, Description, Status etc... that need to be stored. Beside these, site contains other project items like documents, tasks etc...
What do you think would be the best practice to store these, some options I am considering, but I am open to suggestions here:
Custom list on this site (PROS: Easy to edit, CONS: data is not uniform for single list)
Embedded into SPWeb.Properties (PROS: Easy to develop with, CONS: No built-in user UI and other SharePoint UI benefits)
Custom list(s) on root of this site collection (PROS: Centralized, CONS: Requires custom per-project security to implement)
Custom Database (PROS: Relational, CONS: No SharePoint benefits here...)