This is an area that will change as you progress as a brewer. The end goal is to get to final gravity and move the beer off the yeast in a timely fashion. While you do not want to rush the process, as you progress as a brewer, your yeast management, wort making and fermentation process will improve and naturally shorten the time it takes to get the beer to final gravity.
When I was learning to brew, the general thought was to let ales sit for two weeks and lagers 3-4 weeks. Well, no I know that a lot of that "sitting" time is the beer in there doing nothing and basically oxidizing. Yes, some yeast activity will take place and some "cleanup", but a solid ale fermentation should take 3-5 days. At least that should be the goal if enough healthy yeast was used.
Gravity should be the gauge. Time is easier but at the risk of oxidizing the beer. It is a learning curve and if you care/want to move towards a goal. If the beer is tasting good and the time commitment is all you can allow for the hobby, then there are worse places for the beer to sit.