Both offerings use the same Hebrew term for an acceptable offering (minhah) and not the normal term for “sacrifices” (zebah). This probably indicates that the reason God was displeased with Cain’s offering had nothing to with the fact that is wasn’t a “blood offering.”
First, while the births of the two boys seem to highlight bright prospects for the future there is nonetheless a possibility of strife in the mention of their occupations. Cain is mentioned as the one who “worked the soil” and Abel was “a keeper of the flocks.” Though both jobs were important and necessary, Cain’s job in the narrative more closely associates with the fall and the curse in 3:23 and Abel’s with the creation mandate to have dominion over the animals (1:28).
Second, the Lord said that he did not look with favor on Cain and his offering. The text does not say that God did not look with favor on his offering; It was on both Cain and his offering. Thus we surmise that something was wrong with his attitude. This is strengthened by the fact that the Levitical system (which this passage anticipates in the Pentateuch) places such a stress on the correct attitude of faith of the worshipper we may assume that it is important here to.
In short I think that Cain’s offering was not offered in faith and the best that he could offer. His reaction to God and his brother indicates an anger toward God—probably because he was exposed as sinful by his brother’s righteous actions—and a serious questioning of heartfelt obedience on this issue.