Jonathan, I think that in my initial response I concentrated too much on what I consider some of the weak points in Mathematica and did not emphasize some of its tremendous capabilities and what I love about it. When I read your last post and many of the others the useful applications seemed to be calculating something in this or that specific field. It is like Mathematica is a super graphical calculator and has been used to obtain results and plots in a number of different applied fields. I would like to approach your question from a different point of view. Mathematica also has superb capabilities in two less considered general areas.
1) The clear presentation of technical information and concepts.
2) Building and accumulating long-term ACTIVE and useful knowledge.
It's not enough to calculate a result or carry out a derivation or devise a proof. It is also necessary to present the results forcefully and clearly. Mathematica provides important tools in this area. As an example of the kinds of considerations that occur here I'm copying out one section of an essay in my Presentations application on Writing Presentations:
"Much of what I do is influenced by the graphics books of Edward R. Tufte: The Visual Display of Quantitative Information, Envisioning Information and Visual Explanations. Tufte deals principally with representations of data; we wish to extend consideration to representations of scientific and mathematical concepts using classical writing combined with the active and dynamic capabilities of Mathematica. This vastly increases our abilities to present information and also the possibilities of bad design. Here are some maxims and guides I have gathered, some of them from my experience and some of them straight from Tufte.
1) Try to formulate a clear idea of what information is to be conveyed before designing a presentation.
2) Designing and executing a presentation will often (despite maxim 1) lead to discoveries, new insights, or even flaws in our basic ideas so be prepared to redesign theory and presentations.
3) Be honest.
4) Do not simply copy the forms of pre-Mathematica graphics and presentations. They were designed for much inferior static media.
5) When appropriate combine graphical, symbolic and numerical data in one dynamic display.
6) Humans understand actions better than static displays. Particular actions that illustrate the use of particular principles (for example the application of a particular axiom) are better than animations.
7) A dynamic presentation requires a fixed background such that the action illustrates the concept. As a specific example, a dynamic graphic requires a fixed PlotRange. A dynamic manipulation of an equation would have as the fixed background the truth value of the equation.
8) Significant ideas will almost always require multiple presentations combined with textual discussion. That is why I am dubious of the Demonstrations project and the use of a single Manipulate statement.
9) Always examine a presentation for ways to simplify or eliminate extraneous items. Anything that does not support the message obscures it.
10) A useful technique for a presentation is the use of check boxes to turn various elements of the display on or off. Certain parts of the display may pertain to only certain steps in a derivation or a presentation. By toggling them the reader can more easily identify them and by turning them off when not needed the rest of the discussion will be clearer. We in effect obtain many versions of a diagram in one space.
11) Strive to calculate everything. It proofs your work, provides you with future tools, and impresses the reader.
12) Bring the material to the reader where he is using it. Don't make the reader jump to a different part of the document.
13) Use sectional organization and grouping with minimal scrolling. Put some presentations in temporary windows on the side of the notebook so they can be examined while reading the discussion.
This is an exciting new medium. We have much to learn about how to use it effectively so these maxims may change or be expanded."
I'm still standing by my guns on Mathematica graphics. They're good but could be much better and easier. It doesn't matter how many lines of code it takes. A one-liner might be difficult to understand or to devise. Nor does it matter what other programs have. The question is: can the Mathematica graphics paradigm be improved? The answer is a definite yes. And without changing most existing usage because high-level set-piece plots could still be provided as standard constructions from accessible primitives. And a sophisticated user could have far more and easier control, if desired, by working with the primitives.
As for building and accumulating active knowledge: Mathematica supplies unique and extremely useful capabilities. This is the use of Applications as I described in A Mathematica Style. This isn't my idea. It's something that WR designed and I'm just reminding you of it. Here are some places it can be useful: a student studying some course; a scholar writing a major work (I would call them actomes for 'active tome'); university courseware; a research project; development of a commercial application. There is nothing else like it. There is no competition. It is not just a single document, or numerical result, or demonstration or plot. It's a comprehensive collection of active routines in packages, notebooks, papers, style sheets, palettes, documentation and tutorials. It can be constructed over time and with experience and learning. It's useful. It's the very opposite of "dilettantism".
As for those who don't have Mathematica: too bad for them. It's for "the happy few". Maybe they aren't that few.