Sponge filters, do indeed, just catch all the dirt and waste and hold is. As stated above, you will need to squeeze out the sponge at every water change to free the pores of the sponge from excess waste and make the water flow more freely through them.
Some power filters have sponges in them. These work well with goldies. The sponge is a great platform for beneficial bacteria to colonate - it is very porous and, as the water flows through, gives the bacteria good exposure to the ammonia/nitrite and oxygen. Squeezing it out in used fish water will remove excess wastes and preserve the beneficial bacteria of your cycle.
A "sponge filter" - one that is built on an air bubbler that uses the movement of the airbubbles up the center of the sponge tube to move water through the sponge is a great tool for fry - also mentioned above - simply because the movement of the water through the sponge is very slow and gentle. It will not harm the fry as it is sucked through. The fry can also eat the tiny particles off the surface of the sponge. A sponge filter, set up like this, however, does not give the water turnover that is necessary for proper biological filtration in a tank containing adult or larger goldfish. They are simply too messy a fish.
Adult goldfish require at least 10 times turnover of their water - far more than the average tropical fish. Gold fish are that messy. A 10 gallon tank needs a filter capable of passing all the water in the tank through the filter at least 10 times every hour - that is a filter that pumps at least 100gph. A typical sponge filter does about 5.
There are those who run the sponge filters with a powerhead - instead of the air bubbler. If this is done, it can work - particularly in a smaller tank.