Why should I use
It's a batch separator.
GO is used to tell the engine to process everything after the word
GO as a new command in a batch.
CREATE PROC usp_blah as ... GO CREATE some-otherproc as ... GO
GO, the optimizer would throw an error at the second