As of Drupal 7, the Field API and the Entity concepts open up a world of possibilities for detailed, bespoke cms design.
Almost all the "atomic" components are now implemented as Fieldable EntityTypes:
Node
Comment
Taxonomy Vocabulary
Taxonomy Term
User
OpenGroups Group
DeveloperDefined EntityTypes
more...
Each Field itself may have a variety of settings associated with it. These settings are specified using the FAPI and the resulting dict automatically serialised and stored. There are two types of settings: Field Settings, which are settings that apply globally to that Field; Field Instance Settings, which are specific to each FieldInstance (A FieldInstance is created when a Field is added to a Bundle)
It can become a little knotty understanding the terms involved in the Drupal EntityType/Bundle/Field/FieldInstance/Entity ecology. [IS THERE A LINK TO A GOOD PAGE TO PUT HERE?]