It is certainly
doable to use any tag in place of the proper tag...you can make anything look/behave like anything else just by adding the right css. But it messes up other aspects (such as the accessibility functions) when publishers don't stick with the semantically correct tags.
Different agencies work on their favorite aspect of e-publishing and they rely on the content providers to follow
standards so that everyone's product plays well with everyone else's.
<h> for header
<p> for paragraph
<strong> for bold letters or special audio emphasis... <b> for visual representation only when you don't care about accessibility

<em> for italicized letters or different audio emphasis... <i> for visual representation only when you don't care about accessibility

<div> for a simple division of the text which can be used to define special styling in all manner of ways
<blockquote> for a literal representation of a long quote - not to be confused with a div even though the same visual styling can be achieved with css, audio play back would sound different with a blockquote vs. a div