I bought Mass Effect only to find out that the game simply does not run. My computer is as close to flawless as it could possibly get, it's been running for years and has successfully played many games with many different engines, I have done workarounds for crashes and bugs and all sorts of things, it's a tried and true PC.
Just an anecdote from the other side of the fence, and not saying this is necessarily your case. Certainly not defending Mass Effect, I've never tried the game personally.
We've had numerous users report serious defects in our products over many years, and faced all sorts of threats and insults, only for the fault to be eventually traced to the user's "tried and tested hardware." Each program that you may use exercises different components of your PC in different ways. Sometimes subtle differences can make a massive difference in results; the difference between working fine and not even starting up. Should the developer pay because you have some mildly faulty ram?
We've also seen vastly different behavior from hardware/drivers built to the same spec but sourced from different manufacturers, or from the same manufacturer but over different periods. Sometimes these deviations are within the spec but not covered by reasonable testing; often these deviations are outside the spec completely. Should the developer pay because one or more of your components do not follow the specs, or deviate significantly from what was standard practice at the time the software was developed?
As a user, I have to agree that it sucks when products don't work as advertised. I agree that there should be a mechanism for complaint against any vendor, whether their product be physical or virtual. But I'm not sure that I agree that there should be an absolute right of refund at the user's discretion. That's just open for abuse - whether deliberate or incidental.
I'm also not particularly fond of DRM and yet that would seem to be the only way that a vendor could offer true "returns" of a software-only product.
It's probably worth noting that I'm not claiming that all bugs are the user's fault; but it's certainly not the case that all bugs are the application developer's fault, either.