If the metric space is locally compact and intrinsic, then you get only spheres, Euclidean spaces and hyperbolic spaces. [See Metric methods in Finsler... by Busemann and Sur certaines classes d'espaces... by Tits (1955); thanks to Linus for the reference]
Without assuming local compactness, the same conclusion holds assuming local uniqueness of geodesics [See Metric foundations of geometry. I by Birkhoff]. Without this extra assumption you also get the so-called universal $\mathbb{R}$-trees of finite valence; they are complete, but not separable.
If the metric is not intrinsic you get discrete spaces and yet Cantor-like spaces build on them (who knows what else).
Comments
In the Urysohn universal space $\mathbb{U}$ the property holds for compact subsetssubsets; that is, any distance-preserving map $K\to\mathbb{U}$ defined on a compact subset $K\subset \mathbb{U}$ can be extended to an isometry $\mathbb{U}\leftrightarrow\mathbb{U}$.
The real projective space is not three-point-homogeneous --- a closed geodesic contains three points on equal distance from each other, and there is an isometric three-point set that does not lie on a closed geodesic.
See also a related question.