Edit:
Actually the comments are posted using Ajax, and it is quite obvious come to think of it. I just wasn't paying attention when submitting comments.
A search in the source for "XMLHttpRequest" reaveals it.
--
Almost each language mentioned here has its own place in web development, however there are cases where you need to make a choice, I.E. Between ASP and PHP, or between MySQL and Microsofts access database. PHP and MySQL has the advantage of beeing free, so this would be a obvious choice.
Asking why there are so many, would produce the same answer as asking why there are so many gas stations, and somtimes right next to eachother. Some of these languages are competitors, their creators are likely trying to profit from them in some way.
You wont get much of a response as of what ASP.NET is good at compared to PHP. They are both good at creating dymanic websites. And the same goes for the many databases, however PHP and MySQL remains as a good choice, and the best is that they are supported on most hosts these days. To compare them would require extensive research into speed differances and stability, something which is unlikely to happen.
HTML (HyperText Markup Language) is a markup language used to markup text, while CSS is used to layout pages. It is easier to think of them as being "one" these days, and it is worth to note that CSS has made it easier, not harder to create and maintain a website.
XML (Extensible Markup Language) is a markup language used to easily transfer data between applications, I.E. news and articles, cross domains/websites. This has allowed web designers to create XML files dynamically using a language such as PHP, to easily transfer data between their applications. Many applications use XML, its not only used in web development.
Another example of XML based Languages would be RSS and Atom, which are feeds used to publish articles, news, and/or to create sitemaps for a website, which can help the search engine crawlers when indexing your site, it dose however not guarantee that all your pages will be indexed.
In XML you dont have predefined elements like you do in HTML. In XML you create your own elements. See also: http://www.xml.com/pub/a/98/10/guide0.html - A Technical Introduction to XML
XHTML (Extensible Hypertext Markup Language) is a child language of XML meaning it is build on top of the XML standard, and is very similer to HTML, most tags are the same, however in XHTML you are required to "close" tags which wouldn't normally be closed, such as the meta and br tag. The differance is minimal, any properly coded HTML page, can easily be "converted" to XHTML.
XHTML is also suposed to be served with the "application/xhtml+xml" mimetype, instead of "text/html", this means if you have coding errors, the browser will show an error rather then the page. Some browsers do however not support this mimetype, and won't render the page when its used. Any properly configured web server will serve the page as "text/html" for those browsers, see also: http://www.w3.org/2003/01/xhtml-mimetype/content-negotiation
JavaScript is a client side scripting language, which means that it is executed in the browser on your computer when you visit a website rather then on the server. Somtimes JavaScript can be used to reduce the load on the server, by doing some operations on the client side, which would be secure enough to let the client handle.
AJAX is the same as JavaScript, it is more a term used to describe the use of JavaScript togetter with XML, and the use of XMLHttpRequest, this can enhance a website by changing the content of a page I.E. without refreshing. Or it can be used to check for the aviavibility of a username doing registration.
PHP is a Server Side scripting language, which means that it is executed on the server, before the page is displayed. It is used to preprocess data such as text, images, and other files. PHP can be used to create dynamic websites.
PERL is another Serverside Language older then PHP, you can think of them as competitors.
Dynamic websites is used to describe sites which has content that may change under certain conditions, some of which include, a user submitting a comment, new articles gets added, or something gets deleted.
ASP (active server pages), is microsofts bet on a serverside scripting language, also used to create Dynamic websites. But generally what can be done with asp, can also be done with PHP.
SQL (Structured Query Language ) is used to access and manipulate databases. I.E. http://php.net/function.mysql-query - PHP: mysql_query
MySQL is a free open source database, which can be accessed by "queries" in almost any server side language, such as ASP.NET or PHP.
Actionscript is a very easy to learn scripting language, used inside flash files, to create objects such as preloaders for websites, or even players to play videos.
Finally SEO Stands for Search engine optimizing, and is not a programming language. This include techniques to improve your placement in the search engines, such as link building, keyword optimizing, and coding structure as well as content structure improvements on your page.
Unlike what some SEO companies think, search engines do not treat the em and strong tags any different from the less meaningfull b and i tag. Strong and b is exactly the same, see also: http://video.google.com/videoplay?docid=-1756437348670651505