Understanding coordinates with respect to orthonormal bases. If you have an orthonormal base $B$ of $\mathbb{R}^2$, you can calculate coordinates $\vec{x} \in \mathbb{R}^2$ with respect to $B$:
$$[\vec{x}]_B = (\vec{x}\cdot B_1 , \vec{x}\cdot B_2)$$

I know how to calculate that alright. But what I don't understand is...
... so what? What is the point of doing this? What is this useful for? What is (visually) happening to $\vec{x}$?
Additionally, if I have TWO bases $A,B$ of the same subspace, and $\vec{x}$ a vector of such subspace, is
$$[\vec{x}]_A = [\vec{x}]_B$$
True?

As you can see, although I know how to perform the calculation, I don't know why would I ever want to do this, or what does it imply.
For instance, I know how to calculate the orthogonal complement of a subspace, which I find pretty cool because, well, you have all the the vectors that are orthogonal to it. But converting a coordinate with respect to an orthonormal base? What for?
 A: Let's say you have $\vec x$ in terms of a basis $C$.  That is, you have
$$\vec x = x_C^1 C_1 + x_C^2 C_2$$
Now, let's say that you have the basis vectors $B_1, B_2$ in terms of the basis vectors $C_1, C_2$.  That is, you have
$$B_1 = B_{1,C}^1 C_1 + B_{1,C}^2 C_2$$
and similarly for $B_2$.
Then, you can change basis to get the expressions for $x_B^1$ and $x_B^2$ merely by carrying out the dot product formula you've been given, rather than using a whole change-of-basis matrix as you might be taught using classical linear algebra.  This is entirely equivalent to that procedure--you change $B_1, B_2$ into the basis $C$, after all--but often times you express one set of basis vectors in terms of another basis anyway.
What happens to $\vec x$ here is a bit of a point of view thing.  A more pure-mathematics type answer might say be that vectors themselves are indistinguishable from collections of components, and as such, a basis transformation is an actual transformation of the vector.  A more physics type of answer would be that vectors don't necessarily change due to change of basis, that we merely have the freedom to use any basis we choose, and any change of basis changes the coordinates without changing the overall direction of the vector.  This is a little more in line with the expressions I used above.  The distinction here is pretty slight: both physicists and mathematicians need to be familiar with using active and passive transformations both.

About your question about the bases $B,C$ that each span a particular subspace:  the expression $[\vec x]_C$ literally means "the components of $\vec x$ in terms of the basis $C$".  Well, $B$ and $C$ are two different bases; even though they span the same subspace, one would not generally expect the coordinates with respect to two different bases to be the same.  It doesn't matter that they span the same subspace.
A: Nothing is happening to $\vec{x}$; rather $\vec{x}$ is being projected onto the elements of the basis. You are able to represent $\vec{x}$ in way such that the projection of $\vec{x}$ on a single basis element is relatively "independent" of the projection of $\vec{x}$ on other elements. Your basis elements are also of an appealing size, such that the projection takes less computations than usual and that one can fairly compare the size of the coordinate of $\vec{x}$ in one direction with the size of the coordinates of $\vec{x}$ in other directions.
From a very practical standpoint, representations in terms of orthonormal bases are preferred for scientific computing because they minimize computations and reduce numerical error.
A: Visually, in $\mathbb{R}^n$, it is a rotation (and possibly a reflection). The transformation takes a vector in one coordinate system, and lets you view it in another coordinate system.
This is an important aspect of geometry, because it is a transformation which preserves lengths and inner products. The fact that you can change basis at will is the reason why you can consider "space" independent of your choice of origin.
In the general language of linear transformations and vector+inner product spaces, this is very handy/sensible terminology when you want to find the Fourier series of a function. Suppose [roughly speaking] your vector space is the set of all functions $f(x)$ where $-\pi<x<\pi$. Your inner product is $\langle f,g\rangle=\int_{-\pi}^\pi f(x) g(x) dx$. The set of all functions $\cos(n x)/\pi$ for integer $n>0$, $\sin(n x)/\pi$ for integer $n>0$, and $1/(2\pi)$, form an orthonormal basis* for this space, and you can transform back and forth between the function $f(x)$ and the list of coefficients found by taking $\text{coefficient}=\langle f,\phi\rangle$, with $\phi(x)$ being any one of these orthonormal basis functions.
The concepts of change of basis transformations are used in anything involving regular Euclidean geometry (really, use of the word "orthonormal" referring to something like $x_1 y_1+x_2 y_2+\cdots=0$ means we're working in a Euclidean space). For example, change of basis concepts are used all the time in computer graphics programming.
They can also be used in special relativity, where "orthonormal" means something a bit different. Take for example my use of on this physics.se answer.
It's also used extensively in Quantum Mechanics, where you have a wavefunction $\psi(x)$. Because the whole concept of "change of basis" tells you that you can pick any basis you desire, physicists prefer to ditch the $\psi(x)$ notation, and instead work in the abstract, Dirac, or "bra-ket" notation. This vector denoted $|\psi\rangle$ is an element of the vector space of all functions from $\mathbb{R}^3\to \mathbb{C}$, but one doesn't have to assume that the thing is a function of position. It turns out (through some physics) that you can also write it as a function of momentum, merely through a change of basis.
So change of basis with an orthonormal basis of a vector space:


*

*is directly geometrically meaningful

*leads to insight, and

*can help in solving problems.


*Technically they don't form a basis, they form a Hilbert basis, where you may only get the resulting vector by an infinite sum. I'm being very sloppy here - You might wonder what happens if the integral of $f(x) g(x)$ doesn't exist, or if they're pathological functions, etc. The theory of Hilbert spaces is what spells this all out, and it requires a lot of machinery mainly because "the set of all functions" includes some scary things.
A: Let $B=\{\vec{B}_1,\vec{B}_2\}$ orthonormal.
Coordinates of $\vec{x}$ in basis $B$ are the ortogonal projection of $\vec{x}$ over $B_1$ and $B_2$, i.e.
$\vec{x}=\mbox{proy}_{\vec{B}_1}^{\displaystyle\vec{x}}+\mbox{proy}_{\vec{B}_2}^{\displaystyle\vec{x}}=(\vec{x}\cdot\vec{B}_1)\vec{B}_1+(\vec{x}\cdot\vec{B}_2)\vec{B}_2\;$
Another way: The matrix $R^T=[\vec{B}_1\;\;\vec{B}_2]^T$ is orthonormal, i.e.,  $RR^T=I.$ Let  $\;\vec{x}=x_1\vec{i}+x_2\vec{j}\;$ and $\;\vec{x}=a_1\vec{B_1}+a_2\vec{B_2},\;$ i.e. $\;[\vec{x}]_{B}=(a_1,a_2)$, then
$\vec{x}=R^T\begin{bmatrix}a_1\\a_2\end{bmatrix}\Longrightarrow \;R\begin{bmatrix}x_1\\x_2\end{bmatrix}=\begin{bmatrix}a_1\\a_2\end{bmatrix} \Longrightarrow \begin{bmatrix}\vec{B}_1\\\vec{B}_2\end{bmatrix}\begin{bmatrix}x_1\\x_2\end{bmatrix}=\begin{bmatrix}a_1\\a_2\end{bmatrix}$
So, $a_1=\vec{x}\cdot\vec{B}_1$ and $a_2=\vec{x}\cdot\vec{B}_2$
