Flagging is only allowed in few cases : Plagiarism, SPAM and Insults.
You can actually downvote (flag) for any reason you like, good or bad. It's just not necessarily wise to be doing it for bad reasons. You could get some flak for how you downvote, and it may hurt the recipient more than you expect it to, so it's best that your reasoning is widely supported and well justified. The more Steem Power you have the more responsibility you are wielding with your downvote.
As a rule I would say that the flag should be reserved for posts which detract value from the platform, and you should first try to steer the user nicely towards better behaviour, secondly warn them if they persistently behave poorly, and only finally flag them if they continue after being warned in most cases. There are exceptions where a flag is appropriate from the outset IMO.
yes very well said ;)) i hope this helps all the new users to understand the platform better!