Suppose you have a sinusoidal that has a whole number of cycles ($k$) in your DFT frame containing $N$ sample points. It can be parameterized like this:
$$ x[n] = A \cos \left( \left( k\frac{2\pi}{N}\right)n + \phi \right) $$
If you take the $1/N$ normalized DFT of this (FFT is a DFT that is computed efficiently), all the bins will be zero except for bins $k$, and $(N-k)$. With MATLAB, bin $k$ occurs at index $k+1$.
$$ X[k] = \frac{A}{2} e^{i\phi} $$
and
$$ X[N-k] = \frac{A}{2} e^{-i\phi} $$
So, you can see, in the ideal case of a pure tone with a whole number of cycles in the frame, the phase angle of the DFT bin corresponds directly to the phase argument in the signal.
The values from $-\pi$ to $\pi$ are by convention and are measured in radians. This range covers every possible angle.
If you don't have a whole number of cycles, you can find my simplified bin value formulas here: https://www.dsprelated.com/showarticle/771.php
https://gizmodo.com/pentagon-ordered-to-tell-congress-if-it-weaponized-tick-1836391549
In the time domain, a $2\pi$ change in the phase represents the shift of an entire cycle, which can also be considered one wavelength. Shift it by $\pi$ (popularly known as a 180 degree shift), and you effectively invert it. Shift it back and forth by $\pi/2$ and sine becomes cosine and vice versa.
Maybe this will spark an understanding:
$$ cos( ft + \phi ) = \cos( ft ) \cos( \phi ) - \sin( ft ) \sin( \phi ) = a \cos(ft) + b \sin(ft) $$
So, fiddling with the phase adjusts how much cosine vs the sine is in the tone within that reference frame.
What I described above is the bedrock connection between the phase in the time domain and the phase in a DFT bin for real valued signals.
The relationship between this shifting in the time domain and the angle in the corresponding bin is one-to-one for sinusoidals with a whole number of cycles in a DFT frame.
$$ a = \cos(\phi) $$
$$ b = -\sin(\phi) $$
$$ \frac{b}{a} = -\frac{\sin(\phi)}{\cos(\phi)} = -\tan(\phi) $$
Mix in an $i^2$ and you got bin interpretation.