Preference for tin or iron in the reduction of nitrobenzene
The book's reasoning is correct. Fe/HCl gives $\ce{FeCl2}$ on reaction and it gets hydrolyzed by steam vapors to produces more hydrochloric acid and hydrogen to push the reaction forward thus making the reaction self-sustaining to produce more aniline from nitrobenzene.

$$\ce{Fe + 2HCl -&gt;[160°C,CH3OH] FeCl2 + H2}$$

$$\ce{3FeCl2 + 4H2O(steam) -&gt;[Hydrolysis] Fe3O4 + 6HCl + H2 }$$

whereas $\ce{SnCl2}$ gives $\ce{Sn(OH)Cl}$ and 1 mole of hydrogen chloride which is insufficient and it gets exhausted after sometime.

The other thing is cost factor as @Waylander said. Iron scrap is way cheaper than tin.

Both Sn/HCl and Fe/HCl reduction(Bechamp reduction) is replaced by catalytic hydrogenation due to the latter being more efficient and more productive in industial production. Fe/HCl reduction is now an academic interest and is studied as a route to produce iron oxide based pigments.