FIRST of all, everyone gets upset when they rotate but don't get asked back for an interview. Understandably. But realize that just because you rotated somewhere doesn't mean they automatically want you. So if you go rotate at Denver/UW/NYU/HSS/etc, and they know that they don't want you as a resident, would you really WANT to go back and spend hundreds of dollars and more importantly a very valuable day during which you could have interviewed somewhere else?
SECONDLY, the bottom line is you should rotate wherever it is you want to go, as long as you are a reasonable candidate for that program. If your dream is to go to Denver, and you are average (lets say step 1 of 230s and average by other measures), the rotation is your best shot without a doubt.
Here's the math for a program like HSS: if you rotate, you are roughly one of 100 rotators and stand roughly a 35% chance of being asked back for an interview. If you didn't rotate, you are one of 500-600 additional people who didn't rotate there and your chance of getting an interview is roughly 5-10% (and that may be generous). And to be honest, somewhere like HSS probably is the most extreme case of this. So all this is something to be aware of, but ROTATE WHERE YOU WANT TO GO (as long as you are reasonably competitive). My personal opinion is that for MOST of the top places, if you are above average, the rotation is probably worth your time. Try to gauge the rest by that, but it's tough to give reasonable guidelines.
FYI, Utah is another one of these programs that no one has mentioned yet. And U of Chicago is ranking their rotators without requiring them to come back for an interview.