"The grammar described here is intended to help you understand the language in more detail, rather than to allow you to directly implement a parser or compiler."
A language specification is for people who want to implement a parser/compiler/VM/etc. It's something you need if you want to standardize it (e.g. TC39 [ECMAScript] and TC52 [Dart]).
A language specification is also generally clearly labeled as such.
Yes, a language specification is just a prerequisite for standardization. However, it's also useful for people who want to write their own implementation or tools. It also makes issue handling a bit smoother, because you can always check what the spec says if two bits of the ecosystem disagree with each other.
go language spec hit #1:
http://golang.org/ref/spec
dart language spec hit #1:
https://www.dartlang.org/docs/spec/
java language spec hit #1:
http://docs.oracle.com/javase/specs/
For Swift, I can only find guides and references.