I'm assuming you are in the US, and since you didn't indicate which state you are in, start here:
http://www.hud.gov/renting/tenantrights.cfm
Select your state, and you should find a link to (at the least) your state's legal Code for regulation of Property, Landlords and Tenants.
For example, in the state of Virginia, this would be the state legal code that is applicable:
http://leg1.state.va.us/cgi-bin/legp504.exe?000+cod+TOC55000000013000000000000
I agree that you might not want to just withhold rent, because that may not be legal in your state, even when the landlord is not fulfilling their obligations.
This page might also be helpful, for laws on tenant's rights:
http://realestate.findlaw.com/tenant/tenant-repairs/
Call your local housing authority, and find out what actions you should take. They should be able to help you!
Also, carefully read your lease agreement! There might be a hint in there as to what you can do. Most landlords use the standard lease agreement form supplied by the state (or a close approximation of it).
Good luck.