In 2017, we are all living in a very fast-paced world that having new camera body coming out every 2 years, what is the best time for us the user to upgrade our currently owned body?
Let's cut it short first: the best time is when you constantly needing a certain feature that lacks on your current body AND causing you not able to take photos.
For example, hmm, I mean, for example, such as, hmm...
In fact, there are so many workarounds available for many situations to avoid a need for an upgrade.
(Ok, now for real) For example, if you are shooting in a concert which is normally quite dark:
You want to get more light in - lower your aperture value.
Still not enough? - Slow down the shutter speed.
Hang on, need to freeze the motion as well! - Bump up the ISO with faster shutter speed
No! The noise is ugly! - Use flash.
Sorry, no flash is allowed - Ok, maybe you do need a better camera/processor/sensor then.
However, I would like to stress that, while a better camera MIGHT get you better picture, unless you look at it side-by-side and zoom in at 100%: most of the time there isn't much human-noticible difference between, say, Nikon D5 with an entry level kit lens (The top top top flagship) and a Nikon Coolpix point-and-shoot.
Yes, maybe I am exaggerating it a bit - but I hope you get the point.
Look around us, how many people are pleased/satisfied by iPhone photos these days?
I am sure you will have at least one friend of yourself keep saying how iPhone camera is amazing and there is no need for a proper camera.
This brings to the most important point: Camera body is not the most important - LENS is!
A good lens is always the big factor (if not the biggest) of producing great picture, but that would be a seperate topic for another post.
At the end of the day, a photographer is an artist and we should always first try to use our brain to solve a problem before splashing the cash. I would rather have a ISO6400 photo than missing the shot - in fact, the world now satisfies on a high ISO photo from phone camera, then I am sure a ISO6400 photo from a D3100 will look stunning! :)