The rate needs to be configured based on your connection speed. cl_rate is the client rate, which is how often your "client" refreshes with the actual server. There is, obviously, a LOT of data to be sent back and forth for one transaction between you and the server (in multiplayer terms). So, if you have a fast connection, you can see that you can do this more often. If you have a slow connection, you can't cram too many refreshes into a second. If the game is trying to run like it's on a fast connection, but you're on a 56k modem or something, you'll run into problems.
This is not to say that if you set your rate correctly and you have a 56k modem, that you'll experience awsome performance. You have to accept that on a crappy connection, you will get crappy performance. This can, however, help smooth things out as much as possible.
Here's some other commands that might help you out. It can be tough to make things run smooth. At first you'll notice a big performance increase, but then fine tuning it can be a real pain in the butt.
fps_modem x - use this to set your maximum frames per second rate (defaults to 30). The lower you set this, the less data your PC will have to sort through and it may give you a boost in performance.
rate x - this sets the amount of bytes per second the server will send you (default to 2500). If you're using a 28.8 modem, you should have this set somewhere between 2500 and 3000, and you can lower it if you wish to try and increase performance. You can raise this value if you have a fast internet connection - if you're on a LAN, you should set this to 9999.
cl_download_ingame (0/1) - this will toggle in-game downloads on and off
r_decals (0/1) - this enables/disable decals on and off
cl_nodelta (0/1) - toggles delta compression on and off (long distance rendering vs up close rendering)
cl_nopred (0/1) - toggles player prediction on and off (try this, but if you've got it set wrong, you'll get yer butt kicked, especially with a 56k modem.
gl_ztrick (0/1) - speeds up 3dfx rendering, however this is very hard to notice if you don't know what yer looking for
cl_himodels (0/1) - toggles high quality player models on and off. This has nothing to do with your connection, but if your machine doesn't have a beefy graphics card capable of handling all the high rendering, this can slow your machine down, thus slowing your gameplay down, regardless of your connection.
pushlatency x - This defaults to -50. Idealy, this should be set to either -1/2 your ping, to -your_ping. (ie - if your ping on the server is 100, you should set this to anywhere between -50 and -100) Since your ping will vary from server to server, you should try various settings to find one that works best for you.
Try these out, and let us know how things are going. There's some more you can mess around with, but we'll get to that hill once we climb this one.