For me it depends. If I don't want anything for my birthday or Christmas, then surprise is good. But if I want something, I would always tell hubby that he'd rather get me that for my birthday or Christmas. At least it saves him thinking what to get me and at the same time, I'd get what I want.
I think it would depend on who the person is as someone has mentioned above. I know that my family always gets me the perfect gift while some friends who don't know me well enough might get me something that I do not like at all. It would have to depend what kind of gift it is as well because sometimes clothing can be a very sensitive gift because we each have out own personal style. I would prefer a surprise gift of body washes or bath salts or anything of this matter.