The one reason is they need to meet the expiration date. There are some gift cards that have an expiration date and of course, no one would waste gift cards for nothing. You can always sell it to someone who needs it first. If you have a hotel gift card and you don’t plan to book a hotel in the next 3 months however your gift card is about to expire, then you can sell it for cash instead. They can bargain the price with the buyer if they want to ask for a discount rather than getting nothing out of it.
The other reason is they do it for business. Some business-minded people buy bulk gift cards and sell it off at a higher price. Buying bulk gift cards give them a big discount and what they usually do is they sell it off at a higher price but can be paid thru installment basis or can be paid during payday. Usually, employees of big companies do this, so they will offer their officemates to get gift cards from them and adding very little interest to it since they already got discounts upon buying it. In return, they can lend them the gift cards and won’t need to pay for it until payday. Someone in need would really grab this kind of offer, especially during critical wallet days. This is a pretty good business, very fast return of investment with good interest and it also allows you to help others without losing any money.
Thiers still many more reasons to enumerate why people sell gift cards for cash but these are the most common among all of those.