SET Vs SELECT
I have seen multiple post on this very topic. And most importantly its a blanket statement that dont use SELECT and use only SET while assigning. Here is some more perspectives to the whole thing from Tony. Read it here.
PS: I still wonder why MS always tries to give two-three or more methods for the same function yet not documenting most of them from a usage perspective.
Nevertheless, we always get to read from the fabulous fellow MVP's on them ;) ...