HTML (Hyper Text Markup Language) is a widely accepted web-design language.
HTML is responsible for the construction, and the total output, of a page.
There are three "sections" of a decent HTML document source: Inline, Internal, and External.
Inline markup goes in the <body> tag, and defines the webpage's base layout. It structures the output of a webpage, such as creating tables and divisions (And the data in them), forms and buttons, links (And anchors), or even just normal text and images (And videos, flash documents, etc). Inline markup is not generally used to decorate the page with colors and borders, as these methods are usually deprecated. HTML should be used to create the structure of a webpage - Not decorate it with borders, lines, and colors (Although it's possible).
CSS (Cascading Style Sheets) is another widely-accepted web-design language.
Unlike HTML, CSS does not "create" anything. Instead, it decorates, aligns, and positions (etc) elements in HTML. In a nutshell, CSS takes the normal HTML output and adds a few rules to how it's actually displayed.
CSS can edit things such as element width and height, background color, border, alignment, and actual visibility, for starters. HTML is capable of doing some of these things, but as mentioned earlier, the methods are usually deprecated, or are soon to be deprecated.
CSS is incorporated into a webpage using Internal markup (In the <head>; in <style> tags) or external markup (From a ".css" file).