Como has señalado, las matrices son simplemente una forma de escribir ciertos tipos de funciones. Aquí estás tratando con la función que envía un punto $(x, y)$ a su imagen bajo una rotación. Dado que las nuevas coordenadas son simplemente las antiguas, multiplicadas por coeficientes y sumadas, podemos especificar la función solo especificando los coeficientes. Una tabla es entonces una forma conveniente de escribirlos.
Realmente no hay mucho más, es solo una abreviatura conveniente.
Quizás lo entiendas mejor al notar que no es como si esto fuera algo que hacemos solo para rotaciones. Lo hacemos para cualquier función lineal, que es una función en la que mapeamos varios valores de entrada a varios valores de salida multiplicando los valores de entrada por ciertos coeficientes y sumándolos. Nuevamente, cualquier función de este tipo se puede determinar solo conociendo los coeficientes, por lo que una forma abreviada de escribir la función es simplemente escribir los coeficientes en una tabla. Es decir, digamos que tenemos una función dada por:
$$\begin{align} \text{newX} = a\cdot\text{oldX} + b\cdot\text{oldY} \\ \text{newY} = c\cdot\text{oldX} + d\cdot\text{oldY} \end{align}$$
La única información que necesitamos para especificar esta función son los números $a, b, c$ y $d$, por lo que podemos representar esta función con la matriz $\bigl(\begin{smallmatrix}a&b\\ c&d\end{smallmatrix} \bigr)$. Y lo mismo para más de $2$ entradas/salidas.
La pregunta es: ¿por qué las funciones lineales son lo suficientemente importantes como para merecer una notación abreviada especial? Es por donde encajan en este diagrama de Venn:
Las funciones lineales son comunes, ocurren con frecuencia en aplicaciones, lo cual no es sorprendente, dado que "multiplicar por coeficientes y luego sumar" es un tipo de regla bastante simple. Son simples, es muy fácil calcular con ellas y resolver problemas que las involucran. Y son matemáticamente ricas, hay mucho que decir sobre ellas, muchos fenómenos matemáticos interesantes surgen de las funciones lineales.
Ahora, si estás utilizando un marco gráfico como Flash con ActionScript 3, es posible que tengas que rotar objetos gráficos usando código algo así:
rotate = new Matrix(cos, -sin, sin, cos);
sprite.applyMatrix(rotate);
Y quizás te estés preguntando por qué no es simplemente:
sprite.rotate(angle);
(Por supuesto, muchos marcos de trabajo tienen funciones como la segunda, pero sospecho que en el fondo siguen haciendo algo como el primer ejemplo).
Supongo que esto es solo para permitirte aplicar funciones lineales arbitrarias a tu sprite, en lugar de solo rotaciones (como escalados, sesgados y reflejos), manteniendo un backend simple en el motor gráfico. De esta manera, si aplicas varias transformaciones lineales a la vez, ya que las estás suministrando como matrices, el programa simplemente puede combinar las matrices en una sola y aplicar todas las transformaciones lineales al mismo tiempo, lo cual presumiblemente es menos costoso computacionalmente.