There are many good (and not so good) web editing programs available. Some are free, some cost hundreds of dollars. Here are some criteria for picking what software you will get, and the tools I used to develop my web sites.
This is the one must-have web site development tool. There are pages I have developed using only NotePad++, and an FTP program. Plus I use it to read all text files.
See my favorite Firefox Add-Ons for Web Developers, including some that make getting CSS styles correct so much easier.
I have been using Dreamweaver 8 for years, well worth the money for the ease of use. I adjust properties of a tag simply by positioning the cursor in a tag and the Property Editor shows the options. I change the CSS layout in the CSS Editor, that even shows where the current style was defined (if you have multiple style sheets, plus styles in the header of the file, plus in the body of file, determining where to place your change can be a challenge without this information).
The most important feature of Dreamweaver compared to the free software I've found is the way it keeps track of the structure of your web site, and uploads files into the correct folder. I have the files on my computer (which is my testing server, plus the production files. Not having to use an external FTP program, and carefully upload all files into the correct place, is a huge time saver.
I really like the site-wide replacement features, for example if I rename a file, I can update all links in my site (including the links I forgot about, thinking I only had links in my menu file).
This free collection of applications includes Apache Server, MySQL, PHP, and Perl, in a simple to install package. Test your web site on your own computer, saving the time required to FTP the site to your web host. Keep the production site running as you develop and test new features without worrying about messing up the main site.
See my blog for configuring Xampp to have multiple virtual domains on your computer (for testing multiple separate websites).
A complete Web Authoring System for Linux Desktop users as well as Microsoft Windows and Macintosh users to rival programs like FrontPage and Dreamweaver. Kompozer is a free, open source WYSIWYG editor that fully supports the latest HTML and CSS standards. Unlike most WYSIWYG editors, your code doesn't get mangled, so using Kompozer with other editors is effortless. However, it won't even open a .php file, which I use now for all repeating elements in my websites.
Since both Kompozer and Dreamweaver won't do wysiwyg editing in a PHP file, I have my layout (including menus) in one file, and put my text in an HTML file. That also keeps my content uncluttered.
I use Kompozer to get in a flow of writing. I often find I write better when I don't think at all about formatting, I just write. All I pay attention to, with formatting, is marking headings and asides. Then I use NotePad++ to strip off the HTML heading and footer (that Kompozer insists on including, to make valid HTML files), and my file is ready for including in my PHP file.
I have searched several times for free web site editing software, and haven't found a better one. If you don't need PHP, Kompozer could be the only web site editor you'll need.
FileZilla is what I use regularly for transferring files to my web server. Free, cross-platform, even has a portable version that runs off a thumb drive. (Still looking for an inexpensive FTP program that automatically sends files I've updated to the correct places on my server. Dreamweaver does it, you might find it worth the money just for this, and HTML-Kit lets you specify where individual files go on the server.)
If you are going to be using custom fonts in your web pages (or your word processing documents), NexusFont (available on CNET Downloads) is a free gem. Lets you see what every font in your collection looks like, at the size you want. You can type in your own text, to see what it looks like in all your fonts. You can categorize fonts, too, so you can pick from among your professional, artsy, or keyboard fonts, or your favorites. Find duplicate fonts, print font samples with your text, see a map of every character (even those outside the standard character set).
If you are using custom fonts in your web pages, see my Font Size Adjust page for CSS rules to use with downloadable fonts, and ways to make text sizes match in different fonts.
I use this to build the interface to any MySQL database I make. Create the tables in phpMyAdmin, and then use this to make input forms and display data. PHP Generator for MySQL.
This is a very good collection of free SEO tools. I use the Rank Tracker to find good keyword phrases. Paid version automates filling out captcha forms for you, and lets you check how your SEO rankings change over time. SEO Spyglass lets you look at the details of your web site and competitors, to know what to do to improve yours. See the full list of SEO PowerSuite features.
Open an XML file, browse around. Change the sort. Search for data. See the individual records in table format.
Has "copy grid", letting you select either the entire XML file, the details for a single record, or a branch you want, and copy it to the clipboard. Paste into OpenOffice Calc, and save as CSV. [OpenOffice handles CSV files properly, Excel doesn't.] Remember that XML can have sub-records (each field can have multiple parts); the copy grid doesn't grab sub-record information.
Insert tags or attributes in a record. Edit information in any record.
XML Marker, freeware
HTML-Kit looks very powerful. It is $79 (current sale $59) so I haven't purchased it yet, and the trial version was excellent. The earlier version, HTML-Kit build 292 is really nice, built-in FTP with multiple locations, understands PHP (server includes, code syntax, code snippets for PHP/MySQL). Has file to website mappings, so it follows my having c:\websites\lernerconsult go to http://www.lernerconsult.com and c:\websites\styles go to http://www.lernerconsult.com/styles. It crashes sometimes (but remember, I'm using an earlier version) but very good!