Great thread—and the range of answers here really shows there's no single "right" schedule. The consensus seems to be:
clean when flow slows, not on a fixed calendar.
A few things that stood out to me:
Pre-filter sponges are the real MVP. Several of you mentioned intake sponge covers (Fishfur, A201, bgarthe), and I have to agree—they're the easiest way to extend the interval between full filter cleanings. A quick squeeze in tank water every week or two keeps the main media cleaner for much longer.
Rinse mechanical media, preserve biological media. Rusty_Shackleford's point about balancing debris removal with preserving
beneficial bacteria is spot on. Rinsing sponges in
tank water (not tap) protects the bacteria colony, while replacing
filter floss or
polyfil as needed keeps the mechanical side working.
Watch your flow, not the calendar. Whether it's a canister every six months (Gnop1950), an
FX6 every two years (tinylostwine), or an HOB only when the basket starts rising (Fishfur), the common thread is responding to reduced flow rather than a schedule.
One caution for anyone new to this: when you do clean, avoid over-rinsing the biological media—a gentle squeeze is enough. And if you notice cloudy water or a slowdown that doesn't improve after cleaning, check your feeding habits first (as wranglerEd mentioned).