Picking the extreme example (7 RBs) is sort of ridiculous. For years in the 70's the Boy's got to the superbowl by choosing the BPA. If he worked out, great, if not, then oh well. But, if he did work out, they traded the other player for future picks and rolled seamlessly on. There weren't gaps while they were waiting for the next good player just because their "need" draft pick flopped.
Take an example that involved trades: SF had Montana. Why get another good QB when you have Montana? Well, they traded for Steve Young, groomed him behind Montana and then eventually traded Montana. A good young player can force a good old player out but while he still has trade value.
So, if we skip the BPA and draft to simply for need we're short-sighted. If we had a chance to draft Vernon Davis at TE we should grab it. If he works out then you have a new 2TE/2WR offense that is strong in run blocking and still spreads the field. Still not satisfied? Well, then trade one of them.
Who here is going to say that Buffalo shouldn't have drafted McGahee because they had Henry? Well, McGahee worked out and they traded Henry and everyone in Buffalo seems pretty happy with it.
The point is that when you have a chance to acquire a potentially great player at a reasonable price then do it. It isn't worth picking strictly for need (Quincy C) when a player like Sean Rogers is sitting there.
Now, later in the draft things even out. You aren't going to find that sure fine difference maker (at least you don't know that you will). If he were there, you would have drafted him earlier. So, sure, you pick more for need because the difference between players is slighter.