Cascading Style Sheets were created to deal with the style and formatting limitations of HTML. While CSS offers tremendously more styling and formatting options it also brings quite a bit more complexity and is commonly used to provide a common set of formatting rules for a site. If content has a specific style to it then content within that content will generally have that format as well but every element can be given specific formatting.
HyperText Markup Language is the main language of the web. Most website are programmed in HTML to some extent. In many programming languages used on the web those programs will output HTML if the site is not actually coded in HTML. Your web browser will interpret this HTML and render the webpage accordingly. HTML mostly just tells your browser how to render the content with "tags" that specify color, size, alignment and other layout features along with some other funcationality.