There is an abundance of Borderlands servers that show as available, but any attempt to connect to them results in a time out. This is because the person hosting the game did not open the correct ports in their router's port forwarding, and Gamespy is too stupid to know.
In a futile attempt to improve the available servers out there, I'll list the ports that need to be forwarded when hosting Borderlands:
Depending on the model of your router, how to do this can be different. In Linksys brand routers it's under Applications and Gaming.
Your router is a firewall, it protects you from unauthorized access or attacks from the internet. It sees someone trying to connect to you as an unauthorized attack, and blocks it unless you specifically tell it otherwise. What you need to do is direct requests made on the ports above to your computer so people can connect to your server. Just forward the ports to your computer's local IP address; usually will be 192.168.1.*, where the * is a number between 2 and 255. You might have to do a little poking around to figure out what your computer's local IP address is.
If you're just joining an already existing online game, there is no need to forward any ports.