Some things to look at would be:
1) Are your insert/updates or your select queries part of transactions? If so, make sure you've set the most favorable transaction isolation level for your particular situation.
2) Do you have too many indexes on this giant table? Indexes speed up selects but slow down inserts and updates. Make sure you have only the indexes you absolutely need.
3) Related to #2. Are you missing indexes that will speed up your selects? Are your select statements doing full table scans? Have a look at the query execution plan to see what's actually happening. (Query Analyzer can help you with that).
4) Consider replicating your giant data out to one or more readonly database servers that can handle the select traffic while the read/write master table (i.e. your existing table) handles mainly the insert/update traffic.
5) Do you have triggers that are firing on your insert/update operations that may be causing performance or locking issues?
6) Is your application experiencing deadlocked transactions? Have a look at this MSDN article on the subject and see if it helps. Also, make sure you understand the dining philosophers problem so you can avoid deadlocked transactions.