CascadingStyleSheets (or CSS) is a W3C standard that attempts to reestablish the distinction between content (HTML) and appearance. A stylesheet is used to tell a browser how to display an HTML page without resorting to the abuse of HTML for specifying exact fonts, sizes, positions, et cetera. You specify a set of classes which define various attributes of elements.

Using CSS to separate content from presentation has a number of benefits, most importantly easier maintainability of a site: your stylesheet can be defined in an external file which can then be linked in to all of the pages on your site, allowing you to make global changes to the look of your site with one single edit.

Additionally, the capabilities of CSS, esp since version 2, go far beyond what can be done with HTML abuse. Elements of an HTML document can be positioned and styled freely, making many capabilities previously only available in specific HTML tags usable for any element where they may be desired. The range of features even includes generation of additional content when its purpose is purely for the benefit of presentation (such as "back to top" links or maybe decorational graphics).

Further possibilities include the ability to specify styles depending on the presentation media (eg, use different styles for the on-screen vs a printed version of a webpage) as well as the ability to specify multiple stylesheets from which the user can choose whichever they prefer. To see this in action, have a look at the W3C homepage. Currently, only Opera (someone please add how) and Mozilla (via the View menu) expose this feature to the user.

For a stunning demonstration of the visual effects that become possible through CSS, have a look at css/edge. The complexspiral distorted demo is especially impressive.

Note: currently, only Mozilla implements enough of the CSS standard to meaningfully render those pages; Opera has trouble and InternetExplorer is completely broken.

Other notable sites of interest on the topic: