Iowa does recruit good players. The Colby, Stephens and Davidkov OL class was all 4*s and Davidikov just below a 5* (I think). Davidkov's career ended before it began, Stephens has suffered an almost continuous stream of injuries and even Colby has missed some games. We cannot stack classes of 5 or 6 4* and 5* recruits. So, when those kinds of guys are hurt there might even be a walk on behind them. Or some guy with zero experience or a freshman that weighs 265 pounds.
The wide receivers haven't been terrible. Kaleb Brown is obviously a #1 type WR. Keagan Johnson was, I think potentially a game breaker. Although, his portal venture didn't work out the way he thought it would. Didn't start and had only 21 catches for 196 yards, less than 10 per catch. As a freshman at Iowa he had 18 catches for almost 352 yards. 3 more catches for 60% of the yards? Keagan, if healthy, would have been the number one target, even with both TEs. Even with the poor quarterbacking the kid would have had a lot more targets and a lot more than 21 catches. Hell, Keagan stayed healthy for 10 games, just 1 less than the 11 he played while at Iowa. Iowa played 27 games in those two seasons.
You are not all wrong. While we have had a run of line trouble, mostly beginning with the loss on Ince and Britt for the years they would have been juniors and senior. Part has been the injuries, but the line play has been really bad. 2020-team weakness; 2021-team weakness; 2022-team catastrophic and 2023-improving but far from good. The poor line play is reflected in the lack of offensive production, as you note.