There will always be an ASP vs. PHP war, so let's just look at some samples instead of going into a list of features. Take a look at the following full-blown, full-featured, stable, reliable, scalable web applications....
http://wordpress.com
http://joomla.org
http://drupal.org
http://moodle.org
http://typo3.com
And the list goes on and on.
All were written for PHP/MySQL, and all use CSS.
They also all work best under Apache (to make friendly URLs via Apache's mod_rewrite module, which is almost a whole programming language all by itself).
Other languages you might want to look at are Ruby on Rails, and Python.
And that's just for the server-side of things... for dynamic experiences on the browser side, you'll want to be familiar with JavaScript -- at least, enough to implement AJAX (AJAX being how all the latest web applications like GMail, Yahoo Maps, and so on, manage to be so interactive)... and possibly also Flash (ActionScript) and Java (for which I'd recommend looking at either NetBeans or Eclipse).
Java is also often used at the server-side, for applets, or more often, Java Server Pages (JSP).
.htaccess files are text-based configuration files for Apache. But not always. Some servers will disable then (for speed or security) and store any configuration in Apache's main "conf" folder. The advantage of .htaccess is that you can have multiple files like this in different folders on a website. The disadvantage is that every time Apache needs to serve a file, it has to (a) parse the file location and extract it's folder, (b) check for the existence of an .htaccess file in that folder, and (c) parse that file for any configuration commands. That can be a huge burden on a really busy website. But if you're in a shared hosting environment, it's better than not being able to configure the web server at all.
To start the learning experience, I highly recommend WebMonkey.