TL;DR: Read the bold text.
If you have a rectangular plane, you can use two coordinates (X, Y) to define any position on the plane. If you have a sphere, you can still use polar coordinates to denote a position, but they are a bit problematic, because their precision isn't evenly distributed across the surface (more precisely, close to the poles the distance between X=1 and X=2 is much smaller than at the equator. So you need a higher precision number to describe a point close to the equator with a certain precision (say, a tolerance of 50 meters) than you would at the poles.
Now, is there a way of representing position on the surface of a sphere that doesn't have this problem (i.e. uneven distribution of precision)? One I could think of was using a 3D-vector originating from the sphere's center, but that approach seems a bit superfluous, since it can be used to denote any position in 3D-space (in other words, I only need the "direction" part of the vector, not its length, but AFAIK those two are inseparable...). A normalized vector still requires the same amount of information to make it up (3 numbers), so that isn't really any better.
You could mitigate this issue somewhat by projecting the surface of the sphere onto a suitable inscribed polyhedron (e.g., a Platonic solid such as a cube, octahedron, or icosahedron). Then on the cube, you could choose Cartesian coordinates in a natural way, and for triangular faces, you could choose trilinear coordinates. The resulting parametrization is not smooth at the edges or vertices but it doesn't have quite the degree of "unevenness" of the usual spherical coordinate system.