2 years. It's about perfect.
I don't see the point in upgrading to every model and in about 2 years time most phones become slow or start to lose support.
Really liking my S6, but I still miss my nexus 4 at times...
I wish the modular/block phone design would come out. I can't see manufactures wanting to do it, but it would be fun to build your own phone and replacing/upgrading parts as you need.