umbraco uses XSLT files, custom macros and the controls they reference, Document Types with properties, ASP.NET master-page templates, CSS files, and other components to create the site.
umbraco allows for editing CSS in it's own text-editor, or with a simple GUI for certain steps, or outside of umbraco (styles not meant for use in Richtext-Editor only).
Macros are umbraco's means of inserting Controls or Transforms into templates or content, to start.
"Media" in an umbraco installation can be just about anything.