One of the best applications is MarsEdit (40$) by Red Sweater Software.
It supports many blog types (including Tumblr), and allows both HTML and Rich Text editing.
I think it also allows editing Wordpress pages and not only blog posts.
It handles image uploading, editing of posts and supports multiple blogs.
Some of the cons of MarsEdit are its HTML editing shortcuts and macros which are a little uncomfortable and a bit too little.
If you're comfortable with HTML, then the known TextMate text editor can also be used as an editor for blog posts and then you can either copy/paste from there or use a blogging bundle which will let you upload from there. TextMate can also show you live preview of your HTML in a separate window.
Of course, being a specialized application, MarsEdit is more feature rich in the blogging sense but TextMate has a better editor (obviously).