The Scala documentation coverage of self types is not very good. Here are some links to further information and explanations of self types in Scala.
Self types in Scala – This is a decent article that explains self types pretty well.
Scala Self types annotation – more information about Scala self types with examples.
Inheritance vs self types – this article covers the differences between inheritance and self types. Some of the content is repetitive of the above links but said in a different way with different examples. This does a good job of explaining why you would self type instead of inherit, the main thing I was looking for.