Before deciding on an app (or number of apps), you need a good idea of what type of sites you will be building and which languages you'll be using.
A few IDEs allow you to code in pHp/ASP/JS/Perl/Python/RoR/Coldfusion/Flash's ActionScript and write CSS/XHTML/XML etc.
Pretty much all you need is a text editor. Notepad++ is a good all-rounder and you can download plug-ins for different languages which allow codeword-completion and dropdown suggestions.
Aptana and Netbeans are also good free IDEs.
For graphics, try Gimp for a free app.
You'll also need a good FTP app - CoffeeCup is a really good free one, as is FireFTP (plug-in for Firefox).
If you're going to use server-side scripting (e.g. php), you'll need to download some serious software, eg. XAMPP (Apache webserver, pHp, MySQL and a few other bits). In order to control localserver databases, you can use phpMyAdmin, but OS-based GUIs are more user-friendly, like the community version (free) of SQLyog.
IF you've got money to burn, then you can try Abode/Macromedia Dreamweaver/Flash/Fireworks/Photoshop.