As others above have already said, the insoluble ppt coats the
carbonate solid, preventing further reaction between the acid and
the carbonate.
>>> Why is nickel more likely to be an effective
catalyst than magnesium? (Is Ni more reactive than Mg by the way?)
<<<
'O' Level answer :
Because nickel is a transition metal and many transition
metals can function as a catalyst.
'A' Level answer :
Transition metals and their compounds function as catalysts
either because of their capacity for variable oxidation states
(hence allowing them to readily transfer electrons; this provides
an alternative pathway with lower activation energy (as compared to
the uncatalyzed pathway), hence increasing the rate of
reaction) which is usually the modality of homogenous catalysts;
or because of their capacity to adsorb/adsorp other
substances (specifically, the reactants) on to their
surface, and activate them in the process (transition
metals have partially filled d-orbitals and hence can have
different number of bonds, and can bond to a wide variety of
ions and molecules; and so the catalyst can form temporary
bonds with the reactant molecules, which weakens the remaning
bonds within the reactant molecules (eg. from double to single
bonds), eventually causing them to dissociate into highly
reactive atoms, and/or by holding the reactant molecules in
closer proximity with each other on the catalyst surface as
compared to in free gaseous state, all of which lowers activation
energy as well as increasing surface area concentration of
reactants available for reaction), which is usually the modality of
heterogenous catalysts.
A case of the former (homogenous catalyst; partially filled
d-orbitals with capacity for variable oxidation states) would
be the redox reaction (catalyzed by Fe2+/Fe3+
ions) between peroxydisulphate(VI) ions
S2O82-, and iodide ions I-; to
generate sulfate(VI) ions SO42- and
iodine molecules I2.
Overall Redox : 2I- + S2O8 2- --> I2 + 2SO4 2-
Step 1 : S2O8 2- + 2e- <---> 2SO4 2-
Reduction potential = +2.01V
Step 2 : Fe3+ + e- <---> Fe2+
Reduction potential = +0.77V
Step 3 : I2 + 2e- <---> 2I-
Reduction potential = +0.54V
The uncatalyzed reaction (steps 1 and 3) is energetically
feasible (according to redox potential values); however, the
reaction is slow because the negatively charged S2O8 2- and I-
anions repel each other.
In the presence of Fe2+/Fe3+ ions, a alternative pathway (that
is also energetically feasible, but in addition) with much lower
activation energy (since the reactants are oppositely charged
ions), and with a much faster rate of reaction, can now
occur :
S2O8 2- + 2Fe2+ --> 2SO4 2- + 2Fe3+
2Fe3+ + 2I- --> I2 + 2Fe2+
Two examples of the latter (heterogenous catalyst) would be
nickel acting as a catalyst for the hydrogenation reaction
between ethene and hydrogen in the presence of a nickel catalyst;
as well as iron acting a catalyst for the synthesis of ammonia in
the Haber process.
For heterogenous solid metal catalysts in the hydrogenation
reaction of alkenes, the mechanism is as follows :
A similar mechanism occurs for the Haber process :
First the H2 and N2 molecules form temporary
bonds with the surface of the iron catalyst (ie.
adsorbtion/adsorption); this interaction with the catalyst weakens
the covalent bonds within the molecules and eventually causing the
H2 and N2 molecules to dissociate into atomic hydrogen and
nitrogen; which are highly reactive, and rapidly combine with each
other to form NH3 molecules, which then leave the surface of the
iron catalyst.
As to whether nickel or magnesium is more reactive, check out my
redox potentials :

Notice that the standard oxidation potential of
nickel is +0.25V, while the standard oxidation potential of
magnesium is +2.38V. Hence magnesium is significantly more reactive
than nickel.