I love undergravels for small tanks (up to 2ft) but not for goldfish. Goldfish are messy and continually digging in the substrate which upsets the plates. They are suitable for small tanks for small fish that don't nosey through the substrate.
I have never had to strip a tank to clear out an undergravel. They are supposed to amass gunk under the plates - that is where the good bacteria live and work. It is good gunk and not meant to be cleared out.
You need at least 5cm of substrate on top if you want to grow plants well though.
They are good for fish that prefer slower moving water as they don't produce the flow you get from canisters.
I prefer them to internals as they are out of sight, except for the uplift, and don't take up space like the internals.
Sponge filters are great in fry tanks as the fry don't get sucked up the filter.