<xsd:simpleContent> used when you have an element that can contain structural markup (= complex type) and the element is not allowed to contain child elements. In other words, the content type of the elements allows only attributes and text content. Example: <foo bar="baz">foobar</foo> is an element defined using <xsd:complexType> and <xsd:simpleContent> .
It is true that using <xsd:simpleContent> involves creating a type either as a constraint or as an extension, but in fact all complex types are implicitly either constraints or extensions. An extension or restriction simply does not need to be explicitly written in the code, because there is an abbreviated syntax that allows you to leave them.
jasso source share