I've always struggled with this verse, especially in light of the verses right before.
Some interpretations of the ot hold that:
Until after the flood, meat was not eaten.
Abel took care of sheep, so sacrificing a source of wool for clothing seems like something God would encourage simply because clothing was not part of the original plan.
Everybody was a vegetarian, so bringing a portion of crops as a sacrifice was quite literally giving away food to God as a show of faith that He would take care of His people by providing nourishment. That seems more like a sacrifice of faith than a sacrifice of obedience, which (I thought) was the purpose of sacrifices.
Cain worked hard, I assume, growing food for his family. To have the literal fruits of his labor rejected by God as "the wrong thing" just makes it sound like God demands obedience instead of faith.
No WONDER Cain was upset!
The sacrifice of a lamb prefigured the sacrifice of Jesus. God’s doesn’t need food offerings, and we cannot justify ourselves by our own works. That is why He provided Himself a sacrifice as atonement for our sins. In his pride, Cain thought he knew better, but he didn’t.
(post is archived)