Most mods will only work on local server, apart from skins and some simple scripts such as custom HUD placement, most mods will be ignored and the official servers will enforce consistency, effectively disabling them for the time being.

Why is it when I join someone else's lobby/game my custom weapon models don't show? If I host my own lobby/start my own game they always work but if someone else started the game the default models and sounds are used.

There's a reason for this, actually. Mods on servers are affected by two main variables, sv_pure and sv_consistency.

sv_pure is the main culprit behind mods not showing on servers. In my experience, sv_pure has two settings, sv_pure 1 (active) and sv_pure 0 (disabled). If a server has sv_pure set to 1, it will cause your game to default to vanilla, all the time. Only a server admin can change this setting. Most L4D2 servers aren't pure, but lots of them are.

sv_consistency (two settings, 1 for on and 0 for off) checks for file disparity between the client and the server. If you have select custom skins, models or scripts, the server will find those and kick you. Once again, this variable is server-side and only the host/admin can change it. Setting sv_consistency to 0 may be required for hosting local servers, or playing in single player or a private listening server.

There's a reason for this, actually. Mods on servers are affected by two main variables, sv_pure and sv_consistency.

sv_pure is the main culprit behind mods not showing on servers. In my experience, sv_pure has two settings, sv_pure 1 (active) and sv_pure 0 (disabled). If a server has sv_pure set to 1, it will cause your game to default to vanilla, all the time. Only a server admin can change this setting. Most L4D2 servers aren't pure, but lots of them are.

sv_consistency (two settings, 1 for on and 0 for off) checks for file disparity between the client and the server. If you have select custom skins, models or scripts, the server will find those and kick you. Once again, this variable is server-side and only the host/admin can change it. Setting sv_consistency to 0 may be required for hosting local servers, or playing in single player or a private listening server.

Oh, thx a lot. Btw, I found mods were guaranteed to work on non-official servers but the connection wasnt that stable.

It's common, but not a guarantee. sv_pure is disabled by default, but some people are strange and enable it. It's a mixed bag of what you'll get, your only choice is to pick a game/server type and see what happens.

It seems if you have content installed from the steam workshop it conflicts somehow with manually installed .vpk's. To be safe I no longer use the steam workshop and just manually install all .vpk's now. Best to move anything in "addons\workshop" back to the "addons" folder and unsubscribe. I did this and all my content works in public games now.