There are fewer people, and less demand for land, which keeps land prices low.
Fewer people, and not a lot of growth, also lower home prices as there is not as much demand.
The rural nature of Iowa is also part of the reason.
Lower overall costs for building materials and so forth also keep prices lower for houses.