$\ce{SnF2}$ appears to have a predominantly covalent structure while $\ce{NaF}$ is ionic. So I think $\ce{SnF2}$ might release fluoride ions slower (more reluctantly) than $\ce{NaF}$.
Since toothpaste contains $\ce{Ca}$ containing minerals as well (as mentioned in the Wikipedia page), highly insoluble $\ce{CaF2}$ is formed easily when more fluoride ions are present. This is bad since $\ce{CaF2}$ will be inactive.
So since $\ce{SnF2}$ doesn't release fluoride ions as much (unless it comes into contact with water – it undergoes hydrolysis fast. Again this is good since more fluoride will be available only while you are brushing your teeth.), it has a longer shelf life than $\ce{NaF}$ I guess.
This also means that it doesn't matter what fluoride you use as long as its covalent. However I suspect tin is used because it happens to be one of the covalent fluorides relatively harmless to us (see this).
This is all just a guess so take it with a grain of salt... I don't have many sources to back it up (except Wikipedia of course!). Do point out any mistakes.
EDIT
As Georg has mentioned in the comments, toothpastes have a significant amount of water. Apparently toothpastes containing stannous fluoride contain a strong complexing agent which prevents oxidation of the $\ce{Sn^2+}$ ion (I don't have access to the paper but I read the abstract here).
Also the abstract mentions that $\ce{Sn^2+}$ has a antibacterial effect (most probably due to it being a heavy metal ion) and this is another reason why it is used (in contrast to $\ce{Na+}$ which has almost no antibacterial effects).