simplist (oversimplification) is that Iron exists in two forms:
Ferrous iron is Fe+3 (trivalent)such as ferrous sulfate (FS) and Ferric iron is Fe+2 or bivalent.
From
Ferrous versus Ferric Oral Iron Formulations for the Treatment of Iron Deficiency: A Clinical Overview
"bioavailability of iron ferric preparations is 3 to 4 times less than that of conventional FS [20]. This is due to the extremely poor solubility of ferric iron in alkaline media and the fact that ferric iron needs to be transformed into ferrous iron before being absorbed"
What that means is that ferric iron does not get into the blood stream because it does not dissolve well in the intestine. The human intestine does a far better job maintaining iron balance when you eat ferrous iron. And ferrous iron is animal iron (hemoglobin, thus heme iron) or more commonly in iron supplements. Ferric iron is plant iron. Now this is not a complete explanation of heme vs non-heme nor the relative merits of different iron sources but the take home message is that animal sourced iron is better absorbed and it the preferred source especially for those at risk of iron deficiency anemia. Interestingly as a side note, spinach which has a lot of non-heme iron also contains a lot of oxalate which is a compound which actually seems to inhibit the absorbtion of iron. So you can't just look at 1 mg of iron as 1 mg of heme iron is 3 to 4 times more bioavailable than 1 mg of non-heme.
Sorry long post