By faith Abel offered to God a more excellent sacrifice than Cain, through which he obtained witness that he was righteous, God testifying of his gifts; and through it he being dead still speaks. Hebrews 11:4

Our offerings are all to be given by faith and anything we sacrifice to the Lord we believe that He will accept our gifts and reward us accordingly. Cain and Abel both brought offerings to the Lord. Cain brought vegetables because he was a farmer and Abel brought the firstborn of his flock for he was a shepherd.

The Lord received Abel's offering but He did not respect Cain's. Because Cains heart wasn't right in the first place I believe his offering was just for show while his brother Abel offered a firstborn lamb that had the life in it's blood and was holy to the Lord. Both of these brothers obviously knew the importance of giving to God or else they wouldn't have given in the first place, and Cain could have purchased a lamb from Abel but he didn't, only giving vegetables.

What we give to God is holy, our gifts and offerings and our communion with Him and when we give we must have a clear conscience and a pure heart toward our brethren. Cain's heart wasn't right toward his brother and when God refused his offering he rose up and killed Abel. We are instructed that when we give an offering and remember we have something against someone or they have something against us, that we must first forgive them and then we can proceed to offer our sacrifice to God.

"Therefore, if you bring your gift to the altar, and there remember that your brother has something against you, leave your gift there before the altar, and go your way. First be reconciled to your brother, and then come and offer your gift. Matthew 5:23,24