Here is my personal point of view:

(1) Sage is a rapidly growing project. The first version was released in 2005. Thus one could expect there's a lot of space to improve. Indeed the community is very active.

(2) In terms of powerful and speed, I would think Mathematica is still better so far. I mainly use Sage or Mathematica to do symbolic calculation. I found Mathematica can do more symbolic integrations than Sage could. The ODE solver is also more convenient. Also, Sage calls Maxima to do simplifications, which is more slowly than Mathematica.

(3) In terms of stability, I have met several bugs in Sage and I would not mark it as very stable. But the good thing is the bugs breaks the calculation explicitly (by saying something is wrong), instead of give you a wrong result. Also for every bug I met, I could eventually find a workaround, with the help of very kind community.

(4) Despite (2) and (3), I am still moving my previous Mathematica work to Sage. Why? Most importantly, it is because Sage is based on Python, and Mathematica has its own language. The Python-Sage resolution has much better support on class, name-space, etc. Thus when we have a lot of codes, it is much easier to reuse them in Python than in Mathematica (including the .m package).

(5) It's also a matter of Windows / Linux. Sage is more native on Linux, while Mathematica behaves better on Windows. (I have never used Mac thus I don't have comment on that.) The Linux support (especially notebook interface) of Mathematica is very slow, and occasionally unstable.

(6) There are also a number of other differences. For example, in Sage one has to define a variable before use (although don't need to declare). Mathematica doesn't need that. The former is safer but the latter is convenient. Also, one can view source code of a function in sage by typing, e.g. expand?? . This improves my programming technique because then I easily learn how more professional people write code.

Considering the above differences, currently, if you want to use a CAS to do a number of small calculations (say, calculate a integration in your work and insert the result back to your hand-writing notes), I would recommend Mathematica (despite the price issue...). On the other hand, if you write a lot of code and want to reuse them, Sage is a sage option.

Finally, I am looking forward to seeing sage become better and better. The active development group give us end users a lot of hope.

I will add one thing. Sage has been around for a much shorter time than Mathematica. The longer it is around, it will be able to do more and more bugs will be fixed. So, a few years from now, Sage will be closer to what you're looking for than it is now and it's still free.

For completion, here is a critical statement (2010! on version 4.5.3! for Mac!) I found. Since I am new here I cannot consider how much is still true about Sage this user said http://www.macupdate.com/members/profile/Karenbindash

Like I said, you can't expect Sage to be as good as, say Mathematica, in every aspect when it's been around a few years compared to 20 years for Mathematica. The reviewer is not taking this into consideration. Also, as you can see by trac ticket the reviewer mentioned, it appears to be a problem with scipy, which is a completely different open source program that Sage uses.

ok, thanks for the information. I did not want to bash sage (up to now i like it very much) but i found this comment and i always hate it when i can only read praise and glory because it looks like there could be some kind of bias. But i get your point beating established software when your "new to the game". Again, thanks and no offense.