It's one of the great mysteries of the Bible - and there are several really good great mysteries of the Bible. But why did God accept Abel's offering of grain from his fields and reject Cain's offering of meat from his livestock? Especially knowing that God would later provide a ram for Abraham's sacrifice, then command His people to bring Him livestock.
The short answer is: I don't know. I'm not God. Many commentaries have been written on this passage with several theories proposed, but it's difficult to be too convinced by any of them.
Still, I will offer one of my own.
I wonder if it doesn't have something to do with the realities given in Genesis 3.
In Genesis 3, after Adam and Eve ate the fruit, they fell under the curse. They would have to toil and work hard in the land to produce anything. Life would become very hard for them as they were cast out of a place of provision into a place of scarcity and labor. So when Abel brings to the Lord an offering of grain, it is grain that he has worked hard for. Grain that he has labored for. Grain that he has worked from the ground in the context of the curse.
It's remarkable faith to bring something to God that you've had to work so hard for, knowing you're under a curse and that's the only reason you're working for it. Abel knows he's living in the curse. He knows he's cast out. He knows how much blood, sweat, and tears went into bringing that grain offering to the Lord, but he brought it anyway. He chose, in the curse, to be thankful, grateful, and gracious.
I think God's always going to accept that.
At the same time, when Adam and Eve ate the fruit, they discovered they were naked and they tried to cover their own shame with some leaves. Then, God, in His graciousness, slaughtered an animal and made skins for them to cover themselves (the first animal sacrifice, as we talked about yesterday). So then, there's something about slaughtering an animal that brings to mind the shame that you are trying to cover up.
Perhaps Cain's statement, in his offering, was that he believed he could cover his own shame. Remember - this wasn't a sin offering; it was a thank offering, a gratefulness offering. Perhaps his offering to God reeked of him trying to earn his way back in. He was trying to show that he could be self-sufficient and take care of this nakedness that he feels. He wanted to show that God could make skins and so could he, that God could use an animal and so could he. He wasn't working within the curse, not the way that Abel was; he was...trying to work out the curse.
I think God's always going to reject that.
Again, I don't know. I'm not God. I'm not Cain, and I'm not Abel. I'm not even really a biblical commentator (although, you know, I have thoughts about stuff). But I do think that if we read the story of Cain and Abel in light of the first animal sacrifice, the sacrifice that God just made to cover man's shame, which lies in the shadow of the ultimate sacrifice, the Cross, it changes the way that we read it and maybe we start to understand a little bit better what's happening here.