I go back and forth on this one. In a form, I often want the labels to be in bold type. But not always. When I do, I prefer <b> because it purely about visual style, not semantics.
If I were writing a blog post, I'd say <strong> but most of the time, my application is more about visual style than any sort of special thing for screen readers. Still, though, I tend to use <strong> because it accomplishes both.
The one that baffles me is using <i> for glyphs (e.g. fontawesome). Why? I mean, I do it because the examples show that's how it's done (i.e. <i class="fa fa-trash"></i>). But why <i>? Why not <span>? <span> will work just fine, but I'm curious why authors of Twitter Bootstrap and Font Awesome chose the <i> tag. Good grief... Font Awesome even has accessibility attributes on the <i> tag! That just seems... wrong.