First, I'll say a bit about how I use Sage: in the first place, I use it for my own research, and also use it for my teaching -- Mostly I use it in my lectures to do demonstrations, hopefully will incorporate Sage into the homework.
I can install it anywhere I want -- my office computer, my laptop, the computer in the lecture hall, anywhere. I spend exactly zero time wondering if what I'm doing is allowed by the site license, wondering when we'll get the next version, and so on. Free means my students can use it. Everyone can download and use Sage, so I can take a demo from class, publish it, and *everyone* they can look at it after class and interact with it themselves, instead of just watching me fiddle with it. Sure, Mathematica has their "Player" application, but with Sage, my students can easily alter the demo for themselves, which isn't possible with the Mathematica Player.
The notebook allows network transparency, so I only need to get Sage working well *once*, then use a web browser in the classroom. With shared computers in lecture halls, getting things installed is a pain -- but you can definitely rely on a web browser being installed.
Some of the many features of Sage include.
A notebook document interface, for review and re-use of previous inputs and outputs, including graphics and text annotations usable from most web browsers including Firefox,Opera, Konqueror, and Safari. A secure connection via HTTPS to the notebook is supported when security or confidentiality are important, and allows Sage to be used both locally and remotely.
A text-based command line interface using IPython
The Python programming language supporting procedural, functional and object orientedconstructs.
Support for parallel processing using both multi-core processors found in many modern computers, multiple processors, in addition to distributed computing.
Calculus using Maxima and SymPy
Numerical linear algebra using the GSL, SciPy and NumPy.
Libraries of elementary and special mathematical functions
2D and 3D graphs of both functions and data
Matrix and data manipulation tools including support for sparse arrays
Multivariate statistics libraries, using the functionality of R and SciPy
A toolkit for adding user interfaces to calculations and applications.
Tools for image processing[citation needed] using Pylab as well as the Python programming language
Graph theory visualization and analysis tools
Libraries of number theory functions
Import and export filters for data, images, video, sound, CAD, GIS, document and biomedical formats
Support for complex number, arbitrary precision and symbolic computation for functions where this is appropriate
Technical word processing including formula editing and the ability to embed Sage insideLaTeX documents
Network tools for connecting to SQL, Java, .NET, C++, FORTRAN provide by Twisted, This supports a large number of protocols including HTTP, NNTP,IMAP, SSH, IRC, FTP and others
Interfaces to some third-party software like Mathematica, Magma, and Maple, which allows users to combine software and compare output and performance. It is thus also a "front-end" to other mathematical tools similar to GNU TeXmacs
MoinMoin as a Wiki system for knowledge management
Documentation using Sphinx
An automated test-suite, which allows for testing on an end-user's computer
Although not provided by Sage directly, Sage can be called from within Mathematica. A Mathematica notebook is available for this.