The Minecraft Wiki article on Spawning is a good start. Specifically;
Every world has a "spawn point" (really, an area) located within a few hundred blocks of the origin (0x, 0y, 0z). This point is stored in the level.dat file's SpawnX, SpawnY, SpawnZ attributes (although SpawnY seems to be ignored). If the spawn point is deemed unacceptable, a new, temporary spawn point will be selected (although the criteria for "unacceptable" is unknown).
So you always spawn "somewhere" near the center of the map (0,0). Generally the game will try to spawn you on a sand tile near water (The "washed ashore" effect). So, if you always load the same seed, then the algorithm should always plop you down in the same spot that is "close to" the center of the map.
The rules for multiplayer are somewhat different however, and the article is worth the read on that aspect.