Contacting federal, state or local congressmen is an important way to get laws changed if you find them abominable or inefficient. Another way of changing laws that you dislike is to protest or form petitions and get every-day people to rally around your cause. The most difficult, but perhaps most powerful, way of changing bad laws is by campaigning for congress, or other state or local positions in government.
The U.S. Constitution gives citizens the ability to be heavily involved in the way that their country is governed. Evidence for this system in action would be the early feminist movement working to get the Constitution amended to allow women to vote, or the eradication of Jim Crow laws that spawned from Martin Luther King Jr.'s march on Washington.
Making your beliefs and opinions known to those in power is a positive way for citizens to work for effective change in legislation, and the more people you have taking a stand for or against a certain law, the greater potential you can have to influence the way people in government vote.
An alternative route, is by campaigning and getting involved in government yourself. This way you have more direct input within the legislation process, and a greater potential to enable the changes you want. However this route is more costly, and requires a lot more effort than simply making your voice heard.