I have a tank around that size. You should change the water at least once a month, but don't ever do a full tank change or else you will kill your fish. What I found was the best way to clean my tank is to buy a water vacuum type thing. (I forget what its called). They sell them at petsmart for cheap. Ask someone there how to use it because it is a little confusing at first and I don't feel like explaining. Basically, you connect the vacuum to a bucket using a hose that it comes with and it vacuums up all the dirty water and poop into that bucket. It has a filter so the rocks don't get sucked up. When you clean your tank, leave your fish in it or else they will have a hard time adjusting to a clean tank. Suck about half of the water out of the tank with the vacuum. Do not empty out all the water. Do this about once a month or so and your tank should stay clean. Also, you can try getting some snails or catfish because they clean the bottom and sides of your tank to keep it from getting dirty.
You don't say if it's salt or fresh water. I'll assume it's a freshwater tank. Did you treat the water with a chlorine eliminator? Be sure and follow the directions on the bottle. Do you think the filter's too small? That's what I'd look at.