Erland Sommarskog's full explanation of this suggestion is here. The main benefit to implementing this is speedier development and easier troubleshooting for silly but common errors.
From Erland's Connect suggestion:
As programming environment SQL Server has shortcomings that are
entirely inappropriate for enterprise development. In a modern
programming language, the compile tries to catch as many errors as
possible. The earlier errors are found, the cheaper it is to fix them.
And nothing is as cheap as a compiler slapping the error in your
SET STRICT_CHECKS ON would enforce several compile-time checks that would ferret out easy errors--errors that are currently not caught until run time and are also poorly reported on.