Everything
@essjay said! Also how often do you do water changes, and how large a change do you do? Are you using a water conditioner too?
I love this video for teaching how to clean substrate, I learned how to start a syphon without having to suck on the end of the hose from watching this video too
Cory crimps the hose in order to pause the flow while moving the syphon around, but I personally find it easier and faster to just hold my thumb over the end of the tube that's in the bucket when I want to pause the flow. I use a little stool thing to rest the bucket on so I can reach both the tank and the bucket at the same time, but the bucket is still low enough for a syphon to work. Practice makes perfect with these things! Best to clean the substrate every time you do a water change.
You can also get a different syphon according to your tank needs. Changes are you'll want a relatively small one for a 20 gallon. I use a very small one for my 15 and 12 gallon tanks, they're also heavily planted so a small syphon like the one essay linked is perfect for those, allows me to clean around the plants without damaging them, and doesn't suck up too much water before I've had chance to finish cleaning the gravel - pausing the flow while you move it around helps with that too.
But for the large 57 gallon which has much larger pieces of substrate and needs a much bigger volume of water removed, that small syphon is useless. Substrate would get stuck in the small end bit, and it would take forever to remove enough water, so I have a much larger syphon with a longer hose for that one. I also got one that has a much longer head piece/hard tube, because the height of the tank means I need a longer end so I can hold it and reach the substrate easily.