Sometimes, you have to wonder what goes through people’s heads.
In this case, we wonder a LOT, because we aren’t told many of the details of this story. All we know is that God talked to Cain and warned him that sin was crouching at his “door”, and that Cain didn’t react well. That’s putting it mildly: Cain was furious that his offering of the fruit of the ground wasn’t acceptable.
But, why not? The Israelites, later in history, will have a whole bunch of offerings based around vegetation. They’ll also have offerings based around animal sacrifice, too. So, clearly God is OK with offerings of either kind.
So, why is Cain’s offering rejected? For the answer, we have to dig more deeply. Make note of the first sacrifice: God slaughtered an animal to make skins for clothing for Adam and Eve (Genesis 3:21). We aren’t specifically told that God had to kill an animal; it’s a deduction from the text: skins come from dead animals.
Now, comparing this to offerings made in Israel’s history, animal sacrifices are required for SIN offerings. God requires blood offerings. Why? We don’t really know, at least not fully. But, we do know that blood is life. See Genesis 9:4, “Only you shall not eat flesh with its life, that is, it’s blood.” (NASB) And, later in this chapter, the voice of Abel’s blood cries out to God from the ground.
Blood is pretty important to God. And, Cain wasn’t offering blood in his sacrifice. He was offering the fruit of his direct labors: grain and/or fruit. Abel’s sacrifice of one of his sheep, and that sacrifice is accepted.
Now, think this through: could this have been the first time either man offered a sacrifice? No! Otherwise, God would have been unjust is not tell Cain why, if it were the first time.
So, it’s clear that Cain had previously offered blood sacrifices, same as Abel. From where did he get the sheep previously?
From either his dad, Adam, or from one of his siblings. I suspect that sibling was Abel, but we’re not told. What’s important is that he must have previously traded with a sibling to get animals for sacrifice. But here in Genesis 4, he did not.
Putting the pieces together, it seems likely that Cain got into some kind of disagreement with Abel, and this disagreement ended with no trade. Cain apparently took it upon himself to offer the grain and/or fruit directly to God. Whatever the rift was, it would spill over into murder: “Cain told Abel his brother. And, it came about when they were in the field, that Cain rose up against Abel his brother and killed him.” (Genesis 4:8, NASB)