At this stage of the game, it seems like writing clean and cross browser compliant basic HTML/CSS is a given. I tend to work in Firefox/Firebug, check in IE, and follow up with Safari. This system allows the majority audience to be addressed first and the subsequent users to not fall through the cracks.
Javascript has taken the place of a lot of Flash functionality in a Web 2.0 world. Ajax functions have even helped bridge the gap between Flash and database calls for some. Never before has strong JS been so important to layout, user interaction, and back end communication.
Code libraries are quickly becoming the standard rather than a luxury. Prototype/Scriptaculous was the first such collection that I began to use on a regular basis. A year later I switched to JQuery due to reputation and the release of JQuery UI. The two are nearly identical in functionality and syntax but a comfortable relationship with both has advantages when it comes to extending existing sites with one or the other installed.
I've established a solid level in CakePHP which is a framework built on PHP. It delivers the same rapid development for MVC structured applications that JQuery and Prototype helped create for Javascript. Think Ruby on Rails on a PHP backbone.
Recently I've been building in Ruby on Rails. I'm finding the object oriented approach to data handling much more appealing than the array digging I was doing in CakePHP but there are certain things that PHP is just better eqipped to deal with once you get beyond any generic data query type functions.
Drupal... the framework for building CMS frameworks. A standardized tool for making scalable and custom web apps may just make web devs obsolete.
The browser side can only be pushed so far. At some point there needs to be a bridge between the core database application and the presentation of that data. In the old days we would put that code on each page that a user requested data on. This worked well until we decided that a web browser is only going to be one of the ways we're going to present this data. The MVC (Model View Controller) approach has not only changed the way we access data, it's changed the way in which we structure our code base. Most of the time it's actually simplified the entire process by reducing the number of total server scripts on a site.
JSP (Java Server Pages) was my introduction into the realm of accessing data outside of JAVA. It allowed me to do basic server side logic determinations based on information I received from a servlet, which is great when you're in an enterprise class Weblogic environment. PHP took me to the next level of server side scripting with its easy access to MySQL databases and minimal system installation and maintenance. Besides... PHP/MySQL let me write a function in 5 different ways and was so forgiving that I often just guessed and it worked. Did I just say that out loud?
IETester allows a developer to check that most dreaded of requirements, IE6 compliance, without uninstalling a more current browser.
Subversion has become a standard for source control but I'm also very familiar with CVS (SmartCVS & command line) and BitKeeper.
Tortoise SVN is probably the fastest and most reliable source control GUI I've ever used.
Eclipse (Aptana Build) can be an advantage on real application building, whereas the plug-in architecture allows me to customize it to PHP. Not the best thing for front end building IMHO. Dreamweaver's roots in 'design' make it more useful for front end coding to me.
Navicat saves time for anyone dealing with MySQL databases. It's a stable and robust GUI for a number of databases. I've leaned on it for 5+ years.
WinSCP is a life saver for any telnet client to login, change directories, change file permissions, and so on. But, you can do it about ten times faster with WinSCP!
The Adobe CS Suite has become a work horse for front end production flow. It allows me to design creatively with Photoshop/Illustrator, while moving into an efficient production phase with Fireworks, and coding in Dreamweaver/Flash. Although Dreamweaver has come a long way, the 'auto-coding' features are more harmful than helpful and I find it more applicable for straight coding instead. However, the FTP and GREP features can be huge time savers on smaller projects.