HTML was originally meant to structure & share content for use in the academic community, it's only concern of the asthetic was in relaying a structural hierachy. So when commercial industry took an interest in the web in the 1990's and wanted it to display attractive pages, unsuitable elements of the code were appropriated to add visual embellishment. This unintentional use of the technology (hacking) led to a great deal of confusion among users, programmers and thus the actual devices that were meant to interpret this stuff. This is where CSS & web standards comes in. CSS is a visual formatting code that is separtate from the HTML. This allowed the HTML to go back to what it did best, structure. So sites can now be built with validated HTML and you can rest assured that people that make browsers, viewing devices and search engines know what to expect. The beauty of CSS is that you can produce different CSS for different media- the HTML checks what device is probing it and redirects it to the appropriate CSS file, be that handheld, screen or print and if any configuration does not understand the CSS- no problem, you get basic structured HTML delivered to your handheld/screen reader/browsing device.
In practical advantages of CSS are that it allows me, the designer, to complete a project and the client can update the structured content with as little fuss or cost as possible, either with an in-house data inputter using a CMS or HTML editing (the original CMS) or through me (but taking minutes instead of days the old way), we can even design features for content that is to be added by someone else months or even years later with CSS.
Quick skills run down for those in the know...