I think i'd go with iterative, not because it's better or anything like that but purely because it's easier to understand by other developers who might be on my team now or in the future.
But it also depends on the problem. For example iterating through the DOM (deconstructing or constructing) requires recursion in order to access the nth set of children and their attributes. Thinking about it, I guess a purely iterative approach could be used but it would be overly complicated and the code would be needlessly long when compared with the recursive method.
So whilst it's important to consider the technical procs/cons of each I would suggest that the most important is what the team are most comfortable with as well as what the problem requires in order to present an effective solution.