It's more urban that you'd think. From the census data, 64% of its population is in urban areas - less than the country as a whole, but more then, say, Vermont or New Hampshire.
Yeah what people don't realize, far more people in Iowa live in places that look like this:
than this:
That in and of itself doesn't make a place Democratic, BRTD, no matter how much you fancy your party as a "cosmopolitan" one or whatever. Downstate Illinois (which I'm defining as everything outside of the Chicagoland area) is more urbanized than Iowa, and it votes Republican.
Peoria
Rockford
Moline (Quad Cities)
Bloomington/Normal
Champaign
Springfield
Decatur
None of these are including the 700,000+ people who live in the IL suburbs of St. Louis (naturally, there's not really a picture that does that area justice). Just saying that a place NOT being rural does not necessarily correlate to it being Democratic territory. Just using simple math, the majority of Republican voters are not going to be in rural areas.
Now, as someone who lives in Iowa City, this would be my answer: Eastern Iowa has more population than the western half of the state, and it also has several industrial, blue collar cities (Cedar Rapids, Waterloo, Dubuque, the Quad Cities, Muscatine) that provide a nice floor for Democrats. When you combine that with the college town Democrats in Iowa City, Ames and Cedar Falls and the fact that rural voters in Eastern Iowa usually vote Democratic too, you get a pretty high floor for the Democrats in Presidential elections, one that can usually overpower the western half of the state (mostly rural) and the outer/richer Des Moines and Cedar Rapids suburbs.