Every two years or so. Unless the phone I got craps out and I have to purchase a new one, I am not in a hurry. No carrier branded or associated devices. Direct, factory unlocked purchase. A carrier to me is just an unwanted middleman. If I didn't need their cellular network for the phone's basic communications functions, I'd abandon them in a heartbeat.
Besides, I only go for entry level to midrange devices. No point in overly spending for some already overpriced handset... cough... Apple...cough...
I also prefer Android One devices. As I've said before, a smartphone is not a "lifestyle choice" for me and I have no brand loyalty in terms of choosing one that is anykind of status symbol.
Give me a solid, well built device with decent specs and battery life and a regular security patch and OS update schedule for a few years, and that is enough.