HTML is a tag based language for layout of elements, such as text and images. Basically just tells the browser how to display everything. It's interperated by the browser on the user's machine, hence why we all know about those nasty inconsistencies between IE, NN, Moz, Safari, Opera, etc.
PHP is an advanced scripting language for handling 'program-like' functions that runs on the server. In order to process the information from the form, and submit it to an e-mail address, you need the script. Think of it as a traffic guard of sorts, directing the info to where it should go. The MacOSX.com forums are PHP based for example. In that case it's used for various activities (posting, database intergration, authentication, etc.).
There's other types of scripts to do mail functions from forms out there, based on other variants like CGI, PERL, Python, ASP, ASP.net, Java, etc. I personally prefer PHP, though any of those could do it. I've messed with CGI and PERL (long, long time ago...1993), but PHP is just a better solution IMHO. ASP is M$, so I stay as far away as possible.
That and the host I use has xServes or PowerMac G5s for servers runing OS X Server. On any *nix platform, PHP is the logical choice. In fact, I do remember hearing something about it being the most popular app language for the net (something like 40% of sites) but that was a year or so ago. M$'s ASP.net has made some big gains recently, which is regretable.