Here are some answers, based on my last Carnival cruise:
Do any ships have non-smoking cabins?
No, but my cabin did not smell of cigarrettes. However, both neighbors on either side of my cabin smoked, and I could really smell it when they were out puffing on the balcony. (I covered it up my spraying my balcony down with perfume any time they and I were out there at the same time.)
Can you smell smoke from another cabin?
Only from the balcony, and sometimes if you leave your balcony door open and your neighbors are sucking a cancer stick outside.
What areas did you find to be smoke-free?
From the Carnival Capers: "Out of respect for all guests, smoking is restricted to the following areas only:
Frankie & Johnnie's [Bar/Lounge]
and Outer Lido Deck 9, Starboard side.
*As a courtesy to other guests, we ask that you do not walk between or through open lounges while smoking."
Of course, these rules aren't really enforced, so it depends on how considerate and obedient the smokers are. (For instance, I saw a few people outside on the lower decks, smoking, then flicking their cigarrettes over the railing and into the ocean.)