When I specify a .lib file to link to in my application, why does it work for my friend, who doesn't have these .lib files? Do they somehow link to the .dlls?

Also, why use static link libaries as opposed to dynamic link libraries, while we're here. I'll search anyway, but if anyone can be bothered answering, go ahead.