I'm still confused by this to be honest.
I can understand the difference between simple and complex (structured) types, such that a simple type is string, datetime, number, etc which don't have properties and a structured type has properties.
Obviously, this definition doesn't work in Schema.org because everything is inherited from Thing which has properties...but then how is a StructuredValue different to say Person as the value type of the owner property, or Event as the value type of the event property?
...hopefully someone can clear up my cloudy view here...
Its a Parent Type for holding ANY structured value.
Like my old high school locker combination.
Instead of simply saying its a Text value.
I could instead say its a StructuredValue
Then proceed to describe the structure.
Type = StructuredValue
This is a quick hack and not very applicable, but should help you
understand that StructuredValue lets you build structure for values...where
Schema.org might not have a Type for your Structure yet... Like my
LockCombination subtype above.
In Schema.org we use StructuredValue as a parent Type for all those
subtypes that you see on the page, like OpeningHoursSpecification,
Just don't expect the Search Enginges to fully understand your
StructuredValue, but they will understand that IT IS A StructuredValue that
your describing and not some arbitrary text like 16R22L12R.
Use it when you can breakdown a value itself into ...into parts, etc. like
my high school locker combination... or even an automobile's VIN
number...if you wanted to...or an ISO Code... any value that consists of
parts and you want to describe further those parts so that others might
understand more about it.