It addresses similar problems as static typing, yes, but it's not a compile time check. Instead, it's an optional runtime check. The idea is to use it during testing and development, and have it be disabled during production.
We're running some of our specs in production to enforce guarantees on data coming in and out of the app :)
What do you mean "as well"? I thought it was only a runtime check at all.
This Spectrum thing purports to evaluate your specs at compile time though: