The
b and i tags are not recommended or even opposed in the current unspoken rules of web standards, because they are considered to only "show" bold and italics without any "semantics". Use strong and em tags instead.
In the new HTML5 working draft, the b and i tags are defined as follows :
Note from the specification: b and i elements will be given real semantics. More attention should be paid to the different uses of b, i, strong, and em in advance.
Extended reading:
HTML4 to HTML5 changes
A Preview of HTML 5
The b element now represents a span of text to be stylistically offset from the normal prose without conveying any extra importance, such as key words in a document abstract, product names in a review, or other spans of text whose typical typographic presentation is embedded.
// The b element is now described as a piece of text that stands out solely stylistically and does not contain any additional importance in a normal article. For example: keywords in document summaries, product names in comments. Or a typesetting method that represents emphasis.
The i element now represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose, such as a taxonomic designation, a technical term, an idiomatic phrase from another language, a thought, a ship name , or some other prose whose typical typographic presentation is italicized. Usage varies widely by language.
// The i element is now described as a piece of text that highlights different opinions or tone or other in ordinary articles, for example: a classification name, a technical term, a proverb in a foreign language, an idea, etc. Or represent italic typesetting.