I see all these tools for web page creation. (Java, PHP , ASP.NET , CSS, WordPress…) When I save a web page, it’s always HTML. Does that mean that all these tools are platforms for creating HTML web pages? Or are they alternatives to HTML altogether?
Also, if they are all HTML, why do web hosts advertise they have Linux / Windows? What does it matter?
HTML is a markup language which your browser (Firefox, Chrome, Internet Explorer, etc.) can read to render what people usually call a webpage. However, your browser can also render image files (try opening a photo with it), XML files and many other file formats.
When you try to access a URL (let’s say http://www.stackoverflow.com), your computer sends a request to the server which hosts the site. Any technology can be running on the server (Java, PHP, etc.) to process your request. The server is a physical machine which can be running any OS (Windows, Linux, etc.) and software. Eventually, the server returns a response to your browser (oftentimes the response will contain an HTML page for the browser to display).
WordPress which you mentioned is a content management system which helps people making PHP websites.
CSS is a markup language which is used to decorate HTML pages. Most HTML pages refer to a CSS stylesheet which your browser retrieves and then interprets.