I don't think XHTML was ever intended to be an entirely semantic language. If there were no XHTML - just HTML and then XML - the transition to semantic mark-up would never occur. Developers would not chose to create XML documents because they would be excluding the large portion of their audience whose clients do not support XML.
XHTML bridges the gap between HTML and XML. It allows developers to produce documents that are as semantic and 'future proof' as possible without excluding their audience. When the time comes and most clients do support XML, the step up to XML will be less arduous than from HTML.