why is Fe2O3 = Iron III oxide

and FeSO4 = Iron II Sulfate

2 answers

Because the iron is in a differnt valence state in the two different compounds. With iron sulfate, iron donates two electrons to the sulfate ion, and with iron oxide it donates or shares three electrons per iron atom with the oxygen atoms.
Fe2 O3

Fe is iron, and O is oxygen. When the second part is an element, then take off the ending and add -ide.

Switch the 2 and 3, and you should have your answer. It's not necessary to write the roman numeral unless the element can have more than one number of valence electrons. You can reference a periodic table.

Fe2 O3
Write out Fe and O.

iron+2 oxygen-3
Switch the numbers, disregarding the positive/negative.

iron3 oxygen2
Change oxygen to oxide because the second part (anion) is an element.

iron3 oxide2
Write with Roman numerals, and drop O's number because it has only one.
iron(III) oxide

The second one is similar, but SO4 is a polyatomic ion, so you'll have to reference the chart in your book to see its corresponding empirical form.