Behind the scenes, they are actually stored in the usual way, with a join table and a lookup table. This is all hidden from the user, though, and is harder to manipulate for someone with programming chops than if the programmer just implemented it explicitly.
Sharepoint compatibility was the...