1) TF2's respawn works in so-called "respawn waves". They occur every so often throughout the match with fixed intervals usually at around 10 seconds (can differ between teams at different situations: that's all up to mapper and partially to server host).
So, one respawn wave occurs, 10 or however many seconds pass, another occurs, etc.
Once each does, players that are waiting for a respawn right now (with a condition, later about that) all get respawned together. This helps the gameplay because players don't spawn randomly alone, but respawn in groups.
Now imagine that so far in a match 10 respawn waves occurs, and you die after the 10th wave and the 11th wave. You will wait until 11th wave occurs, and one interval more, so you'll respawn on 12th wave. (So players never respawn at the next wave incoming: they respawn at the second next one). This way, a respawn time will vary between t and 2t, averaging at 1.5t, where t is respawn wave time - the our interval, that a mapper and/or server operator can set.
I hope this is understandable, though the post might be a little longer than it needs to be.