It is hard to say what the problem is without more data...
The easy things to try are:
- Shut down any other programs that are running (esp. browsers, email clients, bittorrent/p2p clients, etc they transfer data sometimes even when you're not using them)
- Do a thorough virus and spyware scan
- Try the game on a different machine on the same network (ie, borrow a buddy's or install on your laptop, etc)
It might help to use something like wireshark to grab a capture of all the packets being transmitted on your home network and see if there is some other machine (or even some process on your machine) that is transmitting data and effecting your latency. (That can be tricky to do if you don't know how, and I'm not sure how easy it would be to step you through it without you having any experience...)
You can also use "net_graph 1" (or a higher number) in a steam-based game to see if it is a problem with your local machine or a server/net issue. If you have no network experience, this can also look like gibberish... but if you can capture a screenshot of the graph when you're experiencing a spike that might help.
Do you have a cable modem or DSL? Who is your provider? Some of the providers oversell their bandwidth at one level or another. Cable providers like to oversell how much data can be transmitted between each house and the head end. All providers sometimes oversell how much they can transmit between their local area and the internet at large. Not much you can do if that is the case. If you have control over the ISP decision, consider going with a local DSL provider vs. a big corporation for DSL or cable. The local shops tend to do better in a number of areas.