Why do many Drupal themes markup images with typeof="foaf:Image" attribute? Does this attribute simply enhance semantics?
Yes, it’s about semantics of your content. That way, your page/content is part of the Semantic Web.

Background

The typeof attribute is defined by RDFa.
RDFa is a syntax to embed RDF in markup languages like HTML.

The value foaf:Image (most likely) refers to the Friend of a Friend vocabulary/ontology. The namespace foaf: typically stands for the URI of that vocabulary (http://xmlns.com/foaf/0.1/), so the value is actually the URI http://xmlns.com/foaf/0.1/Image.

http://xmlns.com/foaf/0.1/Image is a class. It’s (= what it means) documented here: http://xmlns.com/foaf/spec/#term_Image.