Dotnetnuke works by storing data in the database which is manipulated by the Code layer and then the final look or "skin" of the web page is determined by the presentation layer.
The huge advantage of this is the almost unlimited variety in the "look and feel" of a site, all without changing the underlying code. This kind of architecture goes a long ways towards the stability of the web application.
Most skins are a combination of small code changes to the main presentation page along with extensive use of cascading style sheets. Rarely is there a need to change any of the modules or other code that makes the site function. This modular approach even allows for multiple skins on a single site, just like this sample site.