History
Originally, HTML was styled directly with HTML constructs (<font>, @bgcolor, etc.).
In 1995, CSS was selected by the W3C as the styling language they would develop for the web.
It took a decade for CSS to be well-supported enough to be truly useful on the web.
The Basic Model
A DOM tree is transformed into a CSS element-tree.
Selectors are resolved againt the element-tree.
Values are assigned to properties and computed.
A box-tree is created from the element-tree based on the applicable properties.
The box-tree then controls the display of the page.
Selectors
Selectors let you target elements in the DOM (really, the CSS element-tree), so you can apply properties to it.