What is the functional difference between hemoglobin and ferritin?
Hemoglobin is the protein of erythrocytes (red blood cells) which has ferrous ions (Fe2+) bound in its subunits. These are able to keep oxygen bound which enables the cell to transport oxygen through the circulation. It's not really for storage of iron, it's for using it.

Ferritin is the actual storage protein, cells express it to store iron in case of deficiency and also to regulate the amount they have in the cell. According to this, it's mainly expressed in muscle, liver and kidney cells (but I'm not too sure about the details of that study so I might have got that wrong).

Edit: just found this in one of my old lectures; unfortunately it doesn't quote sources: ferritin stores iron in liver and heart. The total iron in the body is ~3.9g, of which 2.5g are in use in hemoglobin, 500mg in stores (an additional 250mg in the liver), 150mg in bone marrow, 300mg in myoglobin and 150mg in other enzymes. The remaining 5mg are bound to transferrin in the plasma.