There were some confounding factors, like an apparent day-of decision to require the caucuses to report the results of every vote cast, not just the last one. This led to considerably higher data requirements in precincts where multiple votes were necessary to reach consensus. The new requirements were apparently not reported to the staff until around noon on the day of the election.
As anybody can tell you, nothing sinks projects faster than changing requirements late in the development cycle.
The app also sucked for another reason. Lots of Iowa is rural and cell coverage can be spotty. The app was designed with the all too common assumption in this day and age that the Internet works everywhere.