I get this error: 'Your map [?????.bsp] Differs from the servers'
There are two specific things to watch for with this error.
First, this usually only happens with "stock" maps which are automatically downloaded to clients when Steam releases updates to the maps.
Blame the Player!
Players that have extracted GCF content or offline downloaded maps and put them into their MAPS directory will have out of date Stock maps in their MAPS folder the next time that Steam updates those maps.
Players that try to connect to a Server that is running the new updated map will get this error.
Blame the Server!
On the flipside, when maps are updated some Servers may not have this new updated map, so when you try to join that Server of course it will differ from your Client map and you will also get this error, but the Server is at fault this time.
What you need to do is make sure is that you do not have the "old" Stock maps in your mod/maps folder, just your custom maps.
If you join a server and you get this error, then you just need to try another server until they fix the problem.
Watch for Problem Downloads
If you connect to a server and see it downloading one of the stock maps, you will want to quit and not allow that to happen, something just isn't right with that server. If this happens then you will have to fix the problem by deleting the bad map from your maps directory.
If you get this error with a custom map then either you have an old map or the server has an old map, you'll have to go look on the web for the latest version and install that if you wish to play.
There are two additional possibilities if the above situations still can't be resolved.
There is a small chance that the stock map which is stored in your GCF might be damaged. In that case you will have to delete the local content for the game and re-download the content again to fix the problem. (just click on the game again and it will download)
Here are specific instructions on how to debug your problem:
Problem Fix - go back to Default
First thing to try is to rename your game folder temporarily and let Steam create a totally default installation.
You do this by exiting from Steam, then go to (for example):
and rename the counter-strike folder to this:
When you start up Steam and then click on Counter-Strike in the games menu, Steam will quickly create a default installation. Then you can go to a server running the map you were having a problem with and see you still get the error.
If the problem goes away then you know it's a bad map in your MAPS folder.
Still Have the Problem - Delete the GCF
If you still have the problem then you definitely have a bad GCF cache file and you'll need to re-download the content to fix your problem.
To delete the local content, go to the game that is causing you problems:
Steam > Play Games > then right-click on "Counter-Strike" (for example) and select properties.
There in that properties panel is the "delete local content" button.
You'll then have to re-download the content before you can play, just click on the game again and that will get things downloading again.
Special CZ Case
If you have this problem with CZ and you've done both items above without fixing your problem then you need to also delete the local content for CS. CZ uses some of the CS Maps so if the problem persists then delete the local content for CS as well.
Router or Modem Problem
The other possibility is that you have a problem with your router / modem / internet connection that is garbling the communication from the server to your client.
If you are able to play on the stock maps at times but then without changing anything you can't, or you occasionally get disconnected from the server due to bad parse errors or some other misc host_errors, then you'll need to look into the problem with your equipment.
Do a search here for "parse error" or "host_error" for more information about that problem.