In addition to styling/grouping/scripting, spans can give actual functionality and/or meaning to bits of text. Consider these:
<p>This <span title="Punk IPA">beer</span> tastes good.</p>
<p>Come on, <span lang="kr">여보</span>!`</p>
<p>Hello <span contenteditable="true">Wordl</span>!?</p>
Also the dir, translate or spellcheck attributes are not only for CSS or for JS, but usable on their own too!