Why some acid/alkali can react with some salt, forming another acid/alkali? For example:
$\ce{2NaCl +H2SO4->Na2SO4 + 2HCl}$
$\ce{Ca(OH)2 +Na2CO3->CaCO3 +2NaOH}$
but not the reverse. What determines this? I heard someone said the weaker acid/alkali produced is favourable, but HCl is stronger than $\ce{H2SO4}$. I also heard that only if the products are insoluble or lost from the solution, the reaction happens. Someone suggested that the problem is concentration, as sulfuric acid is 98% while HCl is 38% Is that true?