In terms of SEO <b> does add keyword weight but does CSS styled bold text (font-weight: bold also have the SEO keyword weight? Or in a black-hat case, could you use the <b> tag to add weight then use CSS to make the text font-weight: regular; so you get the SEO benefit but the text looks normal?
Good question. I'm not sure how much, if any, effect it has now days. I think internal SEO such as that may have changed in recent years. I think Google cares more about content and keyword placement/quantity than the font. I'm curious what others think.
<b> is HTML and you should be using <strong> for your page to be XHTML valid. font-weight: bold is CSS styling to seperate the style from the page. You would only need to use it if your element on the page will be repeated. Like an H1 for many pages you would use CSS instead of <strong>.
I know about HTML, CSS and validation. The question was weather one had an SEO benefit over the other.