It's possible to do this using just a one-dimensional array. Since we only need the last column of the matrix we calculated to calculate the next column, the array can be updated in-place.
coins = [1, 2, 5, 10, 20, 50, 100, 200]
total = 200
matrix = [0] * (total + 1)
matrix[0] = 1
for coin in coins:
for j in range(coin, len(matrix)):
matrix[j] += matrix[j - coin]
Apart from stability (which could also be considered a feature)
At what point does anything that makes an application more useful a feature? If this is the definition of a feature, then your second point seems a bit obvious.
Okay, this won't give me the latest bleeding edge version, but instead I get a mature application that is well-tested and provides more functionality than I ever needed. (in particular, more functionality than SVG-edit)
But the same goes for Google Docs and OpenOffice. Having more features isn't always what matters most.