Puns make me cringe. I think puns lead to less effective advertising, because:
Great ads are based on an idea, or insight. Puns are a fluke, the result of a coincidence of language.
Every pun has been done before. Every single one. Nothing original about them.
Puns are self-conscious. They play on words, so they draw attention to the language of the ad, rather than drawing the reader into the idea behind it.
Puns are un-ownable. Because puns are language referencing itself, they do not stake out a unique place in concept or emotion that differentiate a brand. Anyone can make a pun.
Puns do not win awards. Punny ads do not get recognized by senior industry members as excellence in modern-day advertising.