When you write a normal document using a word processor like Microsoft Word/Office, your text is saved in a file with a special format. It is not simply saved as the string of words you typed since the document needs to preserve things like the font you chose, the size of the text, which words are in bold, which italics, and so on. The special format includes not only your words, but all these extra information so that the next time Word opens your document, it can display the document with the exact appearance you created earlier.
Cascading Style Sheets, or CSS, allow you to specify things like the font you want on your page, the size of your text, whether the page is to have 2 columns, whether your text is to be in bold or italics, and so on. In other words, it is the part that lets you control the appearance of your web page.
You may be used to the Microsoft Word "doc" format, where everything from the text you type to the appearance of the document is specified in a single file, transparent to you. On the web, the raw information is specified in HTML and most of the appearance is determined by the CSS.
Since the HTML/CSS combination is analogous to the data found in a Word document, it is good only for displaying information.
Apart from the above difference, from the point of view of a non-programmer, there's not much point asking what the difference is between the languages, say, between PHP. It would be like asking what the difference is between English and German, or some other human language. They're just different languages that you can use to write web-based programs. Each computer language has its own strengths and weaknesses.
Basic knowledge of HTML, you can learn via the Internet very easily and inexpensively. There are many tutorials, guides and books that can help newcomers, and some even want to learn more advanced skills. Your local bookstore will probably have books and teaching at all levels of HTML part of a special computer programming.