Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
A story is a painting, and the words are your colors. The more diversity in word choice, the more natural the pallete looks (think 32-bit color vs 8-bit color). There's a point of diminishing returns, and if you use the wrong word (or an obscure one), that's like a broken pixel in the story. I'd avoid hard-and-fast rules, and go with what feels natural but that also paints the most vivid picture in the reader's mind. A smile is not a grin, so just thesaurising doesn't add dimension; but if you're always using "smile", then consider whether each is actually that; maybe they're actually grins.