These days, I often first prepare documents using a structural approach in SGML , then rendering them to HTML. It is relatively platform independent, allowing me to both edit and display documents anywhere. It is not good for documents requiring precise control over the formatting of text, but I usually don't need to care.
I purchased a copy of Applixware that is priced these days at around $100; it includes a module that seems to cope quite well with a variety of proprietary word processor formats such as those used by Microsoft Word and Corel WordPerfect . The "native" Applix format is a tagged-text scheme that is not unlike HTML.
When I wish to be precise about formatting details, I take the Text Editor/Presentation Language approach. I use a text editor such as Emacs, and the presentation language LaTeX. I used it to write my Master's Thesis, and would probably have come out of grad school without hair had I had to use something like WordPerfect (the most common alternative at the time) or (far worse) Microsoft Word.
I very much prefer the notion of storing text documents as text rather than in some obscuring binary format, as this allows me to apply text processing tools to the documents as needed. This is an obvious application of various tenets of The Unix Philosophy.
Using RCS to manage document versions (tenets 1, 2, 6);
Using Perl to reformat things and to convert raw data into formatted text (tenets 5, 6, 7, 9).
(An somewhat odd example would be to use LAOLA with Perl to read Microsoft Word DOC files.)
A nice bonus is that text representations are incredibly smaller than the binary data structure dump monstrosities that programs like Word produce.
I have moved virtually all of my web pages and some other documents over to use DocBook / SGML, which allows various options in translating documents into a variety of useful formats; if XML takes off in popularity, the tools may become both more powerful and easier to use...