Of course there are pros and cons to a refund policy.

I have seen customers buying a theme, getting personal support via email and Skype, about 10 threads in the Support Forum, something that resulted in a quite unique and heavily customized theme.
After exactly 29 days, I got the refund request, with absolutely no reason given (and the theme was still active on that client's website).
Exactly moments like this make you really grind your teeth.

But, there is also a different side of things, the "novice customer", someone who has zero knowledge of WordPress.

You show them a theme, they like it, it would perfectly fit and they happily buy it.
Then, when it gets down to installing it and adding content, they suddenly realize that adding content and photos actually requires some time and learning.
So instead of investing time into making it work, they take the easy way out and ask for a refund, even though the product is not to blame, as this would happen with whatever theme they decide to choose.
That's one of the sources of the abandonment rate of WordPress (or any other system/software).

So by having a refund policy, many times we are (inadvertently) encouraging customers to take the easy way out, to drop this whole "need a new website" nonsense, and continue using whatever else they have on their websites.