The only real answer to this is "no".
You're rarely (if ever) "required" to do anything for the purpose of courtesy, particularly in this day, when it's not in any way codified.
Otherwise, this is a matter of opinion. You will have some people say that it's best-practice and others say that it's personal preference and others still say to only send a card if you were already planning on it.
Anyone who tells me that I am required to spend money (because I have to buy a card and mail it) because someone did the same for me seems to have their priorities in a twist.
The simple fact is that some people choose to send cards while others choose not to. If you do not send cards and don't wish to then don't feel obligated to do so, regardless of the reason.
- Perhaps you don't participate in that holiday.
- Perhaps you can't afford it.
- Perhaps you don't have time.
- Perhaps you don't care about the person who sent the card.
If they really feel like you're "obligated" to send a card in return and you don't, it's their concern. They are the one with the notion that you're somehow indebted to them and, personally, that sort of tit-for-tat friend isn't someone I'd like to be friends with. Regardless, they can not expect you to feel the same way about this that they do.
That being said, if you don't send cards, it's nice to somehow get the message to them that you appreciated the card, particularly if you feel like it means a lot to them. But, even this isn't required.
Most of the people I know (in the US) don't send holiday cards any more... it's becoming a somewhat antiquated custom. I get the occasional "year in review" card or holiday card but only usually from older relatives.
Now, if you're doing this already - sending cards - and you don't have them on your list for some reason and you get a card from them, and you have an extra one, I say send them a card. It can be sort of disappointing to not get a card from a friend and then see that a common friend has a card in their home.