Sharepoint Designer - Prototyping, code-free solutions, content-types, page layouts, Masterpage design. Note that everything you do here is not easily repeatable / redeployable. Plus you can end up making changes in a live environment so consider whether or not this is appropriate. A very useful tool when in development.
Visual Studio - Compiled solutions (web parts, features, event handlers)
WSPBuilder & SPVisualDev - From codeplex (i.e. free) & help you package sharepoint solutions. Great for getting started as do a lot of the grunt work for you (so you can learn how to build packages properly). You can also use SPVisualDev to develop on a remote machine (i.e. not on the server).
Sharepoint Manager - lets you navigate through your sharepoint farm and see what's underneath the covers.
U2U CAML Query tool - helps you build caml queries
SPSource - Reverse engineer Sharepoint artifacts (i.e. create a list in the browser, point SPSource at the list, and it will generate the files you need).