Dim swApp As SldWorks.SldWorks
reserves an amount of memory to hold a pointer to the SldWorks object, but at this point the content of the memory at that location is empty.
Set swApp = Application.SldWorks
then initialises the contents of that memory location.
In summary, Dim creates a container for your object, Set fills that container.
Note that "Set" is only used for "object" type entities. You don't need to use Set for any other type of variable. DotNet removes the need for Set completely.
Thanks to both of you, I found that i did not have a good understanding of objects making it harder to get. This helps!