Usually when people are talking about code being semantically correct, they're refering to code that acrutately describes something.
In (x)HTML, there are certain tags that give meaning to the content they contain. For example:
A H1 tag describes the data it contains as a level-1 heading. A H2 tag describes the data it contains as a level-2 heading. The implied meaning behind this is that each H2 under a H1 is in some way related (i.e. heading and subheading).
When you code in a semantic way, you basically give meaning to the data you're describing.
Google Semantic Search: Search Engine Optimization (SEO) Techniques That Get Your Company More Traffic, Increase Brand Impact, and Amplify Your Online Presence (Que Biz-Tech)
Book (Que Publishing)